var userAgent = navigator.userAgent.toLowerCase();
var vBobjects = new Array();
function fetch_object(idname, forcefetch){
    vBobjects[idname] = document.getElementById(idname);
	return vBobjects[idname];
}
function toggle_collapse(objid){
    obj = fetch_object(objid);
	if (obj.style.display == "none"){ obj.style.display = ""; }
    else{ obj.style.display = "none"; }
	return false;
}


function show(objid){
    obj = fetch_object(objid);
    obj.style.display = "";
	return false;
}


function hide(objid){
    obj = fetch_object(objid);
    obj.style.display = "none";
	return false;
}


function switch_id(selectobj)
{
    var type = 'style';
    var id = selectobj.options[selectobj.selectedIndex].value;

	if (id == ''){ return; }
	var url = new String(window.location);
	var fragment = new String('');

	// get rid of fragment
	url = url.split('#');

	// deal with the fragment first
	if (url[1])
	{
		fragment = '#' + url[1];
	}

	// deal with the main url
	url = url[0];

	// remove id=x& from main bit
	if (url.indexOf(type + '=') != -1 && is_regexp)
	{
		re = new RegExp(type + "=\\d+&?");
		url = url.replace(re, '');
	}

	// add the ? to the url if needed
	if (url.indexOf('?') == -1)
	{
		url += '?';
	}
	else
	{
		// make sure that we have a valid character to join our id bit
		lastchar = url.substr(url.length - 1);
		if (lastchar != '&' && lastchar != '?')
		{
			url += '&';
		}
	}

	window.location = url + type + '=' + id + fragment;
}



function switch_fid(selectobj)
{
    var id = selectobj.options[selectobj.selectedIndex].value;
	if (id == ''){ return; }
	window.location = 'showforums.php?f=' + id;
}



function Popup(url, window_name, window_width, window_height)
{ settings=
"toolbar=no,location=no,directories=no,"+
"status=no,menubar=no,scrollbars=yes,"+
"resizable=yes,width="+window_width+",height="+window_height;

NewWindow=window.open(url,window_name,settings);
return false;
}


function subm(name,location){
   if(location){
     name = fetch_object(name);
     name.action = location;
     return name.submit();
     //name.message.value = location+location+location+location+location+location+location;
     //return true;
   }
}



function refresh_code(url){

    var Digital = new Date();
    var seconds = Digital.getMinutes()+''+Digital.getSeconds();


    document.getElementById('sec_img_load').innerHTML = "<img src='images/progress.gif' width='16' height='16' border=0>";
    document.getElementById('sec_img').src = '';
    document.getElementById('sec_img').src = url+'&'+seconds;
    setTimeout("document.getElementById('sec_img_load').innerHTML = '';",2000);
    //document.getElementById('sec_img_load').innerHTML = '';
    return false;
}





var rainbowcount = 0;
var glitcount=0;
var glitstring='';
var shimmercount=0;
var shimmerstring='';
var ie4 = false;
        if(document.all) {
                ie4 = true;
        }
        function setContent(name, value) {
                var d;
                if (ie4) {
                        d = document.all[name];
                } else {
                        d = document.getElementById(name);
                }
                d.innerHTML = value;
        }

	function getContent(name) {
		var d;
                if (ie4) {
                        d = document.all[name];
                } else {
                        d = document.getElementById(name);
                }
                return d.innerHTML;
	}

        function setColor(name, value) {
                var d;
                if (ie4) {
                        d = document.all[name];
                } else {
                        d = document.getElementById(name);
                }
                d.style.color = value;
        }

	function getColor(name) {
                var d;
                if (ie4) {
                        d = document.all[name];
                } else {
                        d = document.getElementById(name);
                }
                return d.style.color;
        }
		function toSpans(span) {
		  var str=span.firstChild.data;
		  var a=str.length;
		  span.removeChild(span.firstChild);
		  for(var i=0; i<a; i++) {
			var theSpan=document.createElement("SPAN");
			theSpan.appendChild(document.createTextNode(str.charAt(i)));
			span.appendChild(theSpan);
		  }
		}
        function glitter(name, col, speed) {
		var value = getContent(name);
		while ( value.indexOf(" ", "-10") != (-1) ) {
			var value = value.replace(" ", "");
			};
		if (value.indexOf('<span') >= 0) { return; }
		var length = 0;
                var str = '';
		var ch;
		var token = '';
		var htmltag = false;
                for (i = 0; i < value.length; i++) {
			ch = value.substring(i, i+1);
			if (i < value.length - 1) { nextch = value.substring(i+1, i+2); } else { nextch = ' '; }
			token += ch;
			if (ch == '<' && '/aAbBpPhHiIoOuUlLtT'.indexOf(nextch) >= 0) { htmltag = true; }
			if (ch == '>' && htmltag) { htmltag = false; }
			if (!htmltag && ch.charCodeAt(0) > 30 && ch != ' ' && ch != 'n') {
                        	str += '<span id="' + name + '_' + length + '">' + token + '</span>';
				token = '';
				length++;
			}
                }
                setContent(name, str);
                glitcommand = 'glitterloop(\'' + name + '\', ' + length + ', 0, 1, \'' + col + '\', ' + speed + ')';
                setTimeout(glitcommand , speed);
        }
        function shine(name, col, speed) {
			var value = getContent(name);
			while ( value.indexOf(" ", "-10") != (-1) ) {
				var value = value.replace(" ", "");
				};
			if (value.indexOf('<span') >= 0) { return; }
			var length = 0;
					var str = '';
			var ch;
			var token = '';
			var htmltag = false;
            for (i = 0; i < value.length; i++) {
				ch = value.substring(i, i+1);
				if (i < value.length - 1) { nextch = value.substring(i+1, i+2); } else { nextch = ' '; }
				token += ch;
				if (ch == '<' && '/aAbBpPhHiIoOuUlLtT'.indexOf(nextch) >= 0) { htmltag = true; }
				if (ch == '>' && htmltag) { htmltag = false; }
				if (!htmltag && ch.charCodeAt(0) > 30 && ch != ' ' && ch != 'n') {
								str += '<span id="' + name + '_' + length + '">' + token + '</span>';
					token = '';
					length++;
				}
            }
                setContent(name, str);
                shinecommand = 'shineloop(\'' + name + '\', ' + length + ', 0, 1, \'' + col + '\', ' + speed + ')';
                setTimeout(shinecommand , speed);
        }
		function RainbowSpan(span, hue, deg, brt, spd, hspd) {
			this.deg=(deg==null?360:Math.abs(deg));
			this.hue=(hue==null?0:Math.abs(hue)%360);
			this.hspd=(hspd==null?3:Math.abs(hspd)%360);
			this.length=span.firstChild.data.length;
			this.span=span;
			this.speed=(spd==null?50:Math.abs(spd));
			this.hInc=this.deg/this.length;
			this.brt=(brt==null?255:Math.abs(brt)%256);
			this.timer=null;
			toSpans(span);
			this.moveRainbow();
		}
RainbowSpan.prototype.moveRainbow = function() {
  if(this.hue>359) this.hue-=360;
  var color;
  var b=this.brt;
  var a=this.length;
  var h=this.hue;

  for(var i=0; i<a; i++) {

    if(h>359) h-=360;

    if(h<60) { color=Math.floor(((h)/60)*b); red=b;grn=color;blu=0; }
    else if(h<120) { color=Math.floor(((h-60)/60)*b); red=b-color;grn=b;blu=0; }
    else if(h<180) { color=Math.floor(((h-120)/60)*b); red=0;grn=b;blu=color; }
    else if(h<240) { color=Math.floor(((h-180)/60)*b); red=0;grn=b-color;blu=b; }
    else if(h<300) { color=Math.floor(((h-240)/60)*b); red=color;grn=0;blu=b; }
    else { color=Math.floor(((h-300)/60)*b); red=b;grn=0;blu=b-color; }

    h+=this.hInc;

    this.span.childNodes[i].style.color="rgb("+red+", "+grn+", "+blu+")";
  }
  this.hue+=this.hspd;
}
        function shineloop(name, length, ind, delta, col, speed) {
			var next = ind + delta;
			if (next >= length) { delta = delta * -1; next = ind + delta; }
			if (next < 0) { delta = delta * -1; next = ind + delta; }
                setColor(name + '_' + ind, getColor(name + '_' + next));
                setColor(name + '_' + next, col);
                shinecommand = 'shineloop(\'' + name + '\', ' + length + ', ' + next + ', ' + delta + ', \'' + col + '\', ' + speed + ')';
                setTimeout(shinecommand , speed);
		}

        function glitterloop(name, length, ind, delta, col, speed) {
			var new_spd = Math.floor(Math.random()*31);
			var new_spd = (new_spd - 15);
			var new_spd = (new_spd + speed);
			var next = Math.floor(Math.random()*(length+1));
		    if (next >= length) { delta = delta * -1; next = (-1); }
		    if (next < 0) { delta = delta * -1; next = 1; }
                setColor(name + '_' + ind, getColor(name + '_' + next));
                setColor(name + '_' + next, col);
                glitcommand = 'glitterloop(\'' + name + '\', ' + length + ', ' + next + ', ' + delta + ', \'' + col + '\', ' + speed + ')';
                setTimeout(glitcommand , new_spd);
        }

