/**
*
* @package Breizh Shoutbox
* @version $Id: static.php 150 20:20 17/09/2011 Sylver35 Exp $ 
* @copyright (c) 2010, 2011 Sylver35    http://breizh-portal.com
* @copyright (c) 2007 Paul Sohier
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
var div, hin, huit, hin2, hsmilies, hinfo, hpurge, hdelete, hnr, is_ie = ((clientPC.indexOf('msie') != -1) && (clientPC.indexOf('opera') == -1)), config = new Array(), post_info = false, timer_in, last, display_shoutbox, error_number = null, count = 0, start = true, first = true, smilies = false, colour = false, chars_view = false, shout_rules = false, form_name = 'chat_form', text_name = 'chat_message', bbcode = new Array(), bbtags = new Array('[b]','[/b]','[i]','[/i]','[u]','[/u]', '[img]','[/img]', '[url]', '[/url]', '[color]', '[/color]'), one_open = false, lang = new Array(), edit_button, edit_form = null, error_clear = 0;
function err_msg(title, not_reload_complete){var err = new Error(title);if (!err.message){err.message = title;};if (!not_reload_complete){load_shout();};err.name = "E_USER_ERROR";return err;}
function handle(e){switch (e.name){case "E_USER_ERROR":case "E_CORE_ERROR":message(e.message, true);return;break;default:{tmp = lang['JS_ERR'];tmp += e.message;if (e.lineNumber){tmp += '\n' + lang['LINE'] + ': ';tmp += e.lineNumber;};if (e.fileName){tmp += '\n' + lang['FILE'] + ' : ';tmp += e.fileName;};message(tmp, true);return;}}}
function parse_xml_to_html(xml){try{if (xml.childNodes.length == 0){return tn('');}else if (xml.childNodes.length == 1 && xml.childNodes[0].nodeValue != null){return tn(xml.childNodes[0].nodeValue);}else{var div = ce('span');loop:for (var i = 0; i < xml.childNodes.length; i++){switch (xml.childNodes[i].nodeType){case 3:div.appendChild(document.createTextNode(xml.childNodes[i].nodeValue));break;case 8:case 9:case 10:case 11:break;case 1:if (xml.childNodes[i].childNodes.length == 0 && xml.childNodes[i].nodeName != 'br' && xml.childNodes[i].nodeName != 'img' && xml.childNodes[i].nodeName != 'hr'){break;};switch (xml.childNodes[i].nodeName){case 'blockquote':var q = ce('blockquote');q.className = 'quote';q.appendChild(parse_xml_to_html(xml.childNodes[i]));add_style(xml.childNodes[i], q);div.appendChild(q);break;case 'a':var a = ce('a');a.href = xml.childNodes[i].getAttribute('href');if (xml.childNodes[i].getAttribute('title')){a.title = xml.childNodes[i].getAttribute('title');};if (xml.childNodes[i].getAttribute('class')){a.className = xml.childNodes[i].getAttribute('class');};if (xml.childNodes[i].getAttribute('target')){a.target = xml.childNodes[i].getAttribute('target');};if (xml.childNodes[i].getAttribute('onclick')){a.onclick = xml.childNodes[i].getAttribute('onclick');};if (xml.childNodes[i].getAttribute('rel')){a.rel = xml.childNodes[i].getAttribute('rel');}a.appendChild(parse_xml_to_html(xml.childNodes[i]));add_style(xml.childNodes[i], a);div.appendChild(a);break;case 'img':var img = ce('img');img.src = xml.childNodes[i].getAttribute('src');img.alt = xml.childNodes[i].getAttribute('alt');if (xml.childNodes[i].getAttribute('title')){img.title = xml.childNodes[i].getAttribute('title');}else{img.title = xml.childNodes[i].getAttribute('alt')};if (xml.childNodes[i].getAttribute('class')){img.className = xml.childNodes[i].getAttribute('class');};if (xml.childNodes[i].getAttribute('style')){img.className = xml.childNodes[i].getAttribute('style');};if (xml.childNodes[i].getAttribute('width')){img.width = xml.childNodes[i].getAttribute('width');};if (xml.childNodes[i].getAttribute('height')){img.height = xml.childNodes[i].getAttribute('height');};img.style.border = 0;add_style(xml.childNodes[i], img);div.appendChild(img);case 'script':case 'vbscript':case 'iframe':case 'embed':case 'applet':case 'object':case 'chrome':case 'activeX':return;break;default:{try{var e = ce(xml.childNodes[i].nodeName);}catch (e){break;};e.appendChild(parse_xml_to_html(xml.childNodes[i]));add_style(xml.childNodes[i], e);div.appendChild(e)}};break;}}};return div;}catch (e){handle(e);return div;}}
function add_style(element, html){var Class = element.getAttribute('class');if (Class != null){html.className = Class;};var styles = element.getAttribute('style');if (styles == null){return;};if (styles.indexOf(';') == -1){styles += ';';};styles = styles.split(';');for (var j = 0; j < styles.length; j++){var style = styles[j].split(':');if (style[0]){style[0] = trim(style[0]);};if (style[1]){style[1] = trim(style[1]);};switch (style[0]){case 'font-style':html.style.fontStyle = style[1];break;case 'font-weight':html.style.fontWeight = style[1];break;case 'font-size':try{html.style.fontSize = style[1];}catch (e){}break;case 'font-family':html.style.fontFamily = style[1];break;case 'line-height':html.style.lineHeigt = style[1];break;case 'color':html.style.color = style[1];break;case 'overflow':html.style.overflow = style[1];break;case 'text-decoration':html.style.textDecoration = style[1];break;case 'float':html.style.cssFloat = style[1];break;}}}
function trim(value){value = value.replace(/^\s+/,'');value = value.replace(/\s+$/,'');return value;}
function http(){try{var http_request = false;if (window.XMLHttpRequest){http_request = new XMLHttpRequest();if (http_request.overrideMimeType){http_request.overrideMimeType('text/xml');}}else if (window.ActiveXObject){try{http_request = new ActiveXObject('Msxml2.XMLHTTP');}catch (e){try{http_request = new ActiveXObject('Microsoft.XMLHTTP');}catch (e){}}}if (!http_request){throw err_msg(lang['no_ajax']);}return http_request;}catch (e){handle(e);return false;}}
function message(msg, color, no_reload){try{if (document.getElementById('msg_txt') != null){document.getElementById('msg_txt').innerHTML = '';var tmp = ce('p');tmp.style.marginTop = '0.5em';tmp.style.marginBottom = '0.5em';tmp.style.textAlign = 'center';tmp.style.color = 'green';tmp.appendChild(tn(msg));if (color){tmp.style.color = 'red';}document.getElementById('msg_txt').appendChild(tmp);}else{div.innerHTML = '';var ul = ce('ul');ul.className = 'topiclist forums';ul.style.height = '40px';var li = ce('li');li.style.display = 'block';var dl = ce('dl');dl.style.width = '100%';var dt = ce('dt');dt.className = 'row';var tmp = ce('p');tmp.style.fontSize = '11px';if (color){tmp.style.color = 'red';}tmp.appendChild(tn(msg));dt.appendChild(tmp);dl.appendChild(dt);li.appendChild(dl);ul.appendChild(li);div.appendChild(ul);};if (!no_reload){last = 0;one_open = false;hin = http();if (error_number <= 6){timer_in = setTimeout('reload_post();', 3000);}else{clearTimeout(timer_in);return;};error_number++;}}catch (e){handle(e);return false;}}
function cp(){var sep = ce('span');sep.className = 'page-sep';sep.appendChild(tn(lang['COMMA_SEPARATOR']));return sep;}
function play_sound(file, sort_div){var source = forum_url+'images/shoutbox/'+file;var out_div = 'div_sound';if (sort_div == 1){on_div = '';} else if (sort_div == 2){on_div = '_error';} else if (sort_div == 3){on_div = '_del';};if (is_ie){document.getElementById(out_div+on_div).innerHTML = '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" height="0" width="0" type="application/x-shockwave-flash"><param name="movie" value="'+source+'"></object>';}else{document.getElementById(out_div+on_div).innerHTML = '<embed src="'+source+'" width="0" height="0" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash"></embed>';}}
function delete_message(post_id){if (hdelete.readyState == 4 || hdelete.readyState == 0){hdelete.open('GET',delete_url+'&id='+post_id+'&rand='+Math.floor(Math.random() * 1000000),true);hdelete.onreadystatechange = function(){try{if (hdelete.readyState != 4){return;};if (hdelete.readyState == 4){xml = hdelete.responseXML;if (typeof xml != 'object'){play_sound(error_sound, 2);throw err_msg(lang['SERVER_ERR']);return;};if (xml.getElementsByTagName('error') && xml.getElementsByTagName('error').length != 0){err = xml.getElementsByTagName('error')[0].childNodes[0].nodeValue;message(err, true);return;}else{play_sound(del_sound, 3);message(lang['MSG_DEL_DONE']);};setTimeout("document.getElementById('msg_txt').innerHTML = ''",3000);last = 0;clearTimeout(timer_in);reload_post();reload_page();}}catch (e){handle(e);return;}};hdelete.send(null);}}
function purge_shout(purge_url, purgeSort){if (hpurge.readyState == 4 || hpurge.readyState == 0){hpurge.open('GET',purge_url+'&rand='+Math.floor(Math.random() * 100000),true);hpurge.onreadystatechange = function(){try{if (hpurge.readyState != 4){return;};if (hpurge.readyState == 4){xml = hpurge.responseXML;if (typeof xml != 'object'){play_sound(error_sound, 2);throw err_msg(lang['SERVER_ERR']);return;};if (xml.getElementsByTagName('error') && xml.getElementsByTagName('error').length != 0){err = xml.getElementsByTagName('error')[0].childNodes[0].nodeValue;message(err, true);return;}else{play_sound(del_sound, 3);message(lang['PURGE_PROCESS']);};setTimeout("document.getElementById('msg_txt').innerHTML = ''",4000);document.getElementById(purgeSort).style.display = 'inline';last = 0;clearTimeout(timer_in);reload_post();reload_page();}}catch (e){handle(e);return;}};hpurge.send(null);}}
function handle_edit(dd, inh, i){msg3 = ce('span');msg3.id = 'text' + i;msg3.style.display = 'none';dd.appendChild(msg3);edit_form = ce('form');edit_form.id = 'form' + i;edit_form.i = i;edit_form.style.display = 'none';edit_form.onsubmit = function(){return false};var input = ce('input');input.id = 'input' + i;input.i = i;input.value = input.defaultValue = inh.getElementsByTagName('msg_plain')[0].childNodes[0].nodeValue;input.style.cursor = 'text';input.style.width = '68%';input.style.fontSize = '1.0em';input.onkeypress = function(evt){try{evt = (evt) ? evt : event;var c = (evt.wich) ? evt.wich : evt.keyCode;if (c == 13){document.getElementById('submit' + this.i).click();evt.returnValue = false;this.returnValue = false;return false;};return true;}catch (e){handle(e);return;}};edit_form.appendChild(input);var input = ce('input');input.type = 'button';input.id = 'submit' + i;input.className = 'button1 btnmain';input.style.marginRight = input.style.marginLeft = '5px';input.value = lang['EDIT'];input.title = lang['SHOUT_EDIT'];input.i = i;input.shout_id = inh.getElementsByTagName('shout_id')[0].childNodes[0].nodeValue;input.onclick = function(){i = this.i;document.getElementById('form' + i).style.display = 'none';document.getElementById('text' + i).style.display = 'block';document.getElementById('text' + i).innerHTML = '';document.getElementById('text' + i).appendChild(tn(lang['SENDING_EDIT']));var hedit = http();if (hedit.readyState == 4 || hedit.readyState == 0){hedit.open('POST', edit_url+'&last='+last+'&rand='+Math.floor(Math.random() * 300000),true);hedit.i = i;hedit.onreadystatechange = function(){try{if (hedit.readyState != 4){return;};i = hedit.i;one_open = false;document.getElementById('ddshout' + i).style.display = 'none';document.getElementById('text' + i).style.display = 'none';document.getElementById('shout' + i).style.display = 'none';document.getElementById('edit_button' + i).style.display = 'inline';if (document.getElementById('info_button' + i)){document.getElementById('info_button' + i).style.display = 'inline';};if (document.getElementById('delete_button' + i)){document.getElementById('delete_button' + i).style.display = 'inline';};if (document.getElementById("smilies")){document.getElementById('smilies').style.display = 'none';};if (document.getElementById("colour")){document.getElementById('colour').style.display = 'none';};if (document.getElementById("chars_view")){document.getElementById('chars_view').style.display = 'none';};setTimeout("document.getElementById('msg_txt').innerHTML = ''", 2000);last = 0;reload_post();try{document.getElementById("post_message").style.display = "block";}catch(e){};var xml = hedit.responseXML;if (typeof xml != 'object'){play_sound(error_sound, 2);throw err_msg(lang['SERVER_ERR']);return;};if (xml.getElementsByTagName('error') && xml.getElementsByTagName('error').length != 0){var msg = xml.getElementsByTagName('error')[0].childNodes[0].nodeValue;throw err_msg(msg, true);return;}else{message(lang['EDIT_DONE']);}}catch (e){handle(e);return;}};post = 'chat_message=';post += encodeURIComponent(document.getElementById('input' + i).value);post += '&shout_id=' + this.shout_id;document.getElementById('input' + i).value = '';hedit.setRequestHeader('Content-Type','application/x-www-form-urlencoded');hedit.send(post);}};edit_form.appendChild(input);var input = ce('input');input.type = 'button';input.className = 'button1 btnmain';input.value = lang['CANCEL'];input.title = lang['CANCEL'];input.i = i;input.onclick = function(){one_open = false;try{document.getElementById('post_message').style.display = 'block';}catch(e){};i = this.i;document.getElementById('form' + i).style.display = 'none';document.getElementById('shout' + i).style.display = 'inline';document.getElementById('edit_button' + i).style.display = 'inline';document.getElementById('ddshout' + i).style.display = 'inline';if (document.getElementById('info_button' + i)){document.getElementById('info_button' + i).style.display = 'inline';};if (document.getElementById('delete_button' + i)){document.getElementById('delete_button' + i).style.display = 'inline';};if (document.getElementById("smilies")){document.getElementById("smilies").style.display = "none";};if (document.getElementById("colour")){document.getElementById("colour").style.display = "none";};if (document.getElementById("chars_view")){document.getElementById("chars_view").style.display = "none";};document.getElementById('spa' + i).innerHTML = '';};edit_form.appendChild(input);edit_button.style.display = 'inline';edit_button.i = i;edit_button.id = 'edit_button' + i;delete_button.style.display = 'inline';delete_button.i = i;delete_button.id = 'delete_button' + i;info_button.style.display = 'inline';info_button.i = i;info_button.id = 'info_button' + i;dd.style.display = 'inline';dd.i = i;dd.id = 'ddshout' + i;edit_button.onclick = function(){if (one_open){play_sound(error_sound, 2);alert(lang['ONLY_ONE_OPEN']);return;};one_open = true;try{document.getElementById("post_message").style.display = "block";}catch(e){}i = this.i;document.getElementById('form' + i).style.display = 'block';document.getElementById('form' + i).style.paddingLeft = '5px';document.getElementById('shout' + i).style.display = 'none';document.getElementById('edit_button' + i).style.display = 'none';if (document.getElementById('info_button' + i)){document.getElementById('info_button' + i).style.display = 'none';};if (document.getElementById('delete_button' + i)){document.getElementById('delete_button' + i).style.display = 'none';};document.getElementById('ddshout' + i).style.display = 'none';document.getElementById('spa' + i).style.borderLeft = '0px';document.getElementById('spa' + i).appendChild(tn(lang['SHOUT_EDIT'] + ': '));};return dd;}
function ce(e){return document.createElement(e);}
function tn(e){return document.createTextNode(e);}
