var bandwidth = 'http://www.feesch2.co.uk';
var currentNav;
var zoomDiv;
var noticeObj;

var minSize = 50;
var maxSize = 400;

var stickyTool = '';
var dropped = null;

function getObj(obj)
	{
	return document.getElementById(obj);
	}

function buttonGlow(button)
	{
	button.className = button.className.replace(/submit/,'submitover');
	button.className = button.className.replace(/reset/,'resetover');
	}

function buttonDim(button)
	{
	button.className = button.className.replace(/submitover/,'submit');
	button.className = button.className.replace(/resetover/,'reset');
	}

function dragResizeImage(dragEvent,which)
	{
	posX = which.offsetLeft;
	posY = which.offsetTop;
	var newXsize = dragEvent.x; newXsize = newXsize - posX;
	var newYsize = dragEvent.y; newYsize = newYsize - posY;
	if (newXsize >= maxSize) {newXsize = maxSize;}
	if (newYsize >= maxSize) {newYsize = maxSize;}
	if (newXsize <= minSize) {newXsize = minSize;}
	if (newYsize <= minSize) {newYsize = minSize;}
	which.width=newXsize;
	which.height=newYsize;
	}

var colArray = new Array;
colArray[''] = '#ff0000';
colArray['#ff0000'] = '#ff2a00';
colArray['#ff2a00'] = '#ff5500';
colArray['#ff5500'] = '#ff7f00';
colArray['#ff7f00'] = '#ffaa00';
colArray['#ffaa00'] = '#ffd400';
colArray['#ffd400'] = '#ffff00';
colArray['#ffff00'] = '#d4ff00';
colArray['#d4ff00'] = '#aaff00';
colArray['#aaff00'] = '#7fff00';
colArray['#7fff00'] = '#55ff00';
colArray['#55ff00'] = '#2aff00';
colArray['#2aff00'] = '#00ff00';
colArray['#00ff00'] = '#00ff2a';
colArray['#00ff2a'] = '#00ff55';
colArray['#00ff55'] = '#00ff7f';
colArray['#00ff7f'] = '#00ffaa';
colArray['#00ffaa'] = '#00ffd4';
colArray['#00ffd4'] = '#00ffff';
colArray['#00ffff'] = '#2ad4ff';
colArray['#2ad4ff'] = '#55aaff';
colArray['#55aaff'] = '#7f7fff';
colArray['#7f7fff'] = '#aa55ff';
colArray['#aa55ff'] = '#d42aff';
colArray['#d42aff'] = '#ff00ff';
colArray['#ff00ff'] = '#ff00d4';
colArray['#ff00d4'] = '#ff00aa';
colArray['#ff00aa'] = '#ff007f';
colArray['#ff007f'] = '#ff0055';
colArray['#ff0055'] = '#ff002a';
colArray['#ff002a'] = '#ff0000';

function animateTwo(link)
	{
	var l = document.links[link];
	if (colArray[l.style.color])
		{l.style.color = colArray[l.style.color];}
	else
		{l.style.color = colArray[''];}
	setTimeout("animateTwo(" + link + ")",100);
	}

function animate(link,color)
	{
	var l = document.links[link];
	var h = l.innerHTML;
	var t = l.innerText;
	var p = h.indexOf('\<'); //'
	var s = '';
	if (p > -1)
		{s = t.substr(0,p+1);}
	if (p == t.length)
		{
		l.innerHTML = t;
		setTimeout("animate(" + link + ",'" + color + "')",5000);
		}
	else
		{
		s = s + '<font color="' + color + '">' + t.substr(p+1,1) + '</font>' + t.substr(p+2);
		l.innerHTML = s;
		setTimeout("animate(" + link + ",'" + color + "')",20);
		}
	}

function findFlashers()
	{
	for (var l=0; l<document.links.length; l++)
		{
		if (document.links[l].className == 'goldFlash')
			{setTimeout("animateTwo(" + l + ")",l*66);}
		if (document.links[l].className == 'expandFlash')
			{setTimeout("animateTwo(" + l + ")",l*66);}
		}
	}

function clipCopy(stuff) 
	{
	cliptext.value = stuff;
	var clipRange = cliptext.createTextRange();
	clipRange.execCommand("Copy");
	alert("'" + stuff + "' copied to the clipboard");
	}

function toggleInner(h,ev)
	{
	return false;
	ev = ev || window.event;

	if (ev)
		{
		var el = ev.srcElement || ev.target;

		if (el.tagName != 'TH')
			{
			ev.cancelBubble = true;
			if (ev.stopPropagation)
				{ev.stopPropagation();}

			return false;
			}
		}

	var tbody = h.parentNode.parentNode;
	h.style.width = (h.clientWidth-10)+'px';

	var tables = tbody.getElementsByTagName('table');
	for (var t=0; t<tables.length; t++)
		{
		var theTable = tables[t];

		if (theTable.className == 'inner')
			{
			if (theTable.style.display == 'none')
				{theTable.style.display = 'block';}
			else
				{theTable.style.display = 'none';}
			}
		}
	}

function toggleSpoiler(h)
	{
	var s = h.parentNode;
	var t = s.getElementsByTagName('div')[1];

	t.className = t.className == 'hide' ? 'show' : 'hide'
	}


function toggleNav(o)
	{
	var uls = o.parentNode.getElementsByTagName('ul');
	var s = uls[0].style;

	if (s.display == 'block')
		{s.display = 'none';}
	else
		{s.display = 'block';}
	}

function openNav()
	{
	var current = (arguments.length == 0) ? currentNav : arguments[0];

	var uls = document.getElementById('nav').getElementsByTagName('ul');
	for (var ul=0; ul<uls.length; ul++)
		{
		if (uls[ul].parentNode.id == 's'+current)
			{uls[ul].style.display = 'block';}
		}
	}

function zoom(e,uin)
	{
	e = e || window.event;
	var t = e.target || e.srcElement;

	var x = 0;
	var y = 0;

	if (e.pageY)
		{
		x = e.pageX;
		y = e.pageY;
		}
	else
		{
		if (document.documentElement.scrollTop)
			{
			x = event.clientX+document.documentElement.scrollLeft;
			y = event.clientY+document.documentElement.scrollTop;
			}
		else
			{
			x = event.clientX+document.body.scrollLeft;
			y = event.clientY+document.body.scrollTop;
			}
		}

	if (getObj('zoomDiv'))
		{zoomDiv = getObj('zoomDiv');}
	else
		{
		zoomDiv = document.createElement('DIV');
		zoomDiv.id = 'zoomDiv';
		document.body.appendChild(zoomDiv);
		}

	if (e.pageY)
		{
		zoomDiv.style.left = x + 'px';
		zoomDiv.style.top  = y + 'px';
		}
	else
		{
		zoomDiv.style.pixelLeft = x;
		zoomDiv.style.pixelTop  = y;
		}
	zoomDiv.style.display = 'block';
	zoomDiv.innerHTML = '<table class="outer w400"><tr><th class="heading toggle" onclick="toggleInner(this)">' + uin + '</th></tr><tr><td><table class="inner"><tr class="odd"><td>Loading...</td></tr></table></td></tr></table>';

	if (window.XMLHttpRequest)
		{
		// code for Mozilla, etc.
		jsHTTP=new XMLHttpRequest();
		jsHTTP.onreadystatechange=zoomDone;
		jsHTTP.open("GET","icq-zoom.pl?uin=" + uin,true);
		jsHTTP.send(null);
		}
	else if (window.ActiveXObject)
		{
		// code for IE
		jsHTTP=new ActiveXObject("Microsoft.XMLHTTP");
		if (jsHTTP)
			{
			jsHTTP.onreadystatechange=zoomDone;
			jsHTTP.open("GET","icq-zoom.pl?uin=" + uin,true);
			jsHTTP.send();
			}
		}
	}

function zoomDone()
	{
	if (jsHTTP.readyState == 4)
		{
		if (jsHTTP.status == 200)
			{zoomDiv.innerHTML = jsHTTP.responseText;}
		else
			{alert('AJAX Error: ' + jsHTTP.status);}
		}
	document.body.style.cursor = 'default';
	}

function toggleToolbar(a)
	{
	var div = a.parentNode;
	div.className = (div.className == 'toolDivRight') ? 'toolDivDown' : 'toolDivRight';
	}

function toggleDrop(a)
	{
	var ul = a.parentNode.parentNode;
	var div = ul.parentNode;

	if (div.className == 'toolDivDrop')
		{
		var iframe = getObj('iframe');

		if ((dropped != null) && (ul !== dropped))
			{
			dropped.className = 'toolbar';
			dropped.style.zIndex = 0;
			dropped = null;
			iframe.style.display='none';
			}
	
		if (ul.className == 'toolbar drop')
			{
			ul.className = 'toolbar';
			ul.style.zIndex = 0;
			dropped = null;
			iframe.style.display='none';
			}
		else
			{
			ul.className = 'toolbar drop';
			ul.style.zIndex = 5;
			dropped = ul;
			iframe.style.top    = ul.offsetTop    + 'px';
			iframe.style.left   = ul.offsetLeft   + 'px';
			iframe.style.width  = ul.offsetWidth  + 'px';
			iframe.style.height = ul.offsetHeight + 'px';
			iframe.style.display='block';
			}
		}
	}

function toggleTool(ev,li,show)
	{
	ev = ev || window.event;

	var el = ev.srcElement || ev.target;

	if (el.tagName == 'LI')
		{
		ev.cancelBubble = true;
		if (ev.stopPropagation)
			{ev.stopPropagation();}
		}

	if (show == 2)
		{
		if (stickyTool == '')
			{
			stickyTool = li;
			getObj(li).className = 'active';
			}
		else
			{
			stickyTool = '';
			getObj(li).className = '';
			}
		}
	else
		{
		if (show == 1)
			{getObj(li).className = 'active';}
		else
			{
			if (stickyTool != li)
				{
				if (li == 'searchTool')
					{getObj('metasearch').blur();}
				getObj(li).className = '';
				}
			}
		}
	}

function navChange(scheme)
	{
	if (window.XMLHttpRequest)
		{
		// code for Mozilla, etc.
		jsHTTP=new XMLHttpRequest();
		jsHTTP.onreadystatechange=navChangeDone;
		jsHTTP.open("GET","icq-navedit.pl?ajax=1&scheme=" + scheme,true);
		jsHTTP.send(null);
		}
	else if (window.ActiveXObject)
		{
		// code for IE
		jsHTTP=new ActiveXObject("Microsoft.XMLHTTP");
		if (jsHTTP)
			{
			jsHTTP.onreadystatechange=navChangeDone;
			jsHTTP.open("GET","icq-navedit.pl?ajax=1&scheme=" + scheme,true);
			jsHTTP.send();
			}
		}
	}

function navChangeDone()
	{
	if (jsHTTP.readyState == 4)
		{
		if (jsHTTP.status == 200)
			{
			var xmlDoc=jsHTTP.responseXML.documentElement;

			var nodeNum = (xmlDoc.getElementsByTagName('top')[0].childNodes.length == 1) ? 0 : 1;

			document.getElementById('topPanel'  ).innerHTML = xmlDoc.getElementsByTagName('top' )[0].childNodes[nodeNum].nodeValue;
			document.getElementById('navWrapper').innerHTML = xmlDoc.getElementsByTagName('left')[0].childNodes[nodeNum].nodeValue;
			}
		else
			{alert('AJAX Error: ' + jsHTTP.status);}
		}
	document.body.style.cursor = 'default';
	}

function navHide()
	{
	var hide = getObj('navPin').parentNode.parentNode.className == '' ? 'Y' : 'N';

	if (window.XMLHttpRequest)
		{
		// code for Mozilla, etc.
		jsHTTP=new XMLHttpRequest();
		jsHTTP.onreadystatechange=navHideDone;
		jsHTTP.open("GET","icq-navedit.pl?ajax=1&hide=" + hide,true);
		jsHTTP.send(null);
		}
	else if (window.ActiveXObject)
		{
		// code for IE
		jsHTTP=new ActiveXObject("Microsoft.XMLHTTP");
		if (jsHTTP)
			{
			jsHTTP.onreadystatechange=navHideDone;
			jsHTTP.open("GET","icq-navedit.pl?ajax=1&hide=" + hide,true);
			jsHTTP.send();
			}
		}
	}

function navHideDone()
	{
	if (jsHTTP.readyState == 4)
		{
		if (jsHTTP.status == 200)
			{
			getObj('navPin').parentNode.parentNode.className = jsHTTP.responseText;
			if (jsHTTP.responseText == '')
				{
				alert('The navigation will now be SHOWN by default');
				getObj('wrapper').className = '';
				}
			else
				{alert('The navigation will now be HIDDEN by default');}
			getObj('navPin').parentNode.blur();
			}
		else
			{alert('AJAX Error: ' + jsHTTP.status);}
		}
	document.body.style.cursor = 'default';
	}

function noticeHide(li,notice)
	{
	if (noticeObj)
		{alert('Please wait...'); return false;}

	noticeObj = li;
//	while (noticeObj.tagName.toUpperCase() != 'TABLE')
//		{noticeObj = noticeObj.parentNode;}
//	noticeObj.style.display = 'none';

	li.blur();
	$(li).parents('table').fadeTo("slow", 0, function(){
		$(this).hide();
	});

	var url = "icq-notices.pl?ajax=1&notice=" + notice;
	document.body.style.cursor = 'wait';
	if (window.XMLHttpRequest)
		{
		// code for Mozilla, etc.
		jsHTTP=new XMLHttpRequest();
		jsHTTP.onreadystatechange=noticeHideDone;
		jsHTTP.open("GET",url,true);
		jsHTTP.send(null);
		}
	else if (window.ActiveXObject)
		{
		// code for IE
		jsHTTP=new ActiveXObject("Microsoft.XMLHTTP");
		if (jsHTTP)
			{
			jsHTTP.onreadystatechange=noticeHideDone;
			jsHTTP.open("GET",url,true);
			jsHTTP.send();
			}
		}
	}

function noticeHideDone()
	{
	if (jsHTTP.readyState == 4)
		{
		if (jsHTTP.status != 200)
			{alert('AJAX Error: ' + jsHTTP.status);}
		}
	noticeObj = null;
	document.body.style.cursor = 'default';
	}

function updateHide(li,notice)
	{
	if (noticeObj)
		{alert('Please wait...'); return false;}

	noticeObj = li;
//	while (noticeObj.tagName.toUpperCase() != 'TABLE')
//		{noticeObj = noticeObj.parentNode;}
//	noticeObj.style.display = 'none';

	li.blur();
   $(li).parents('table').fadeTo("slow", 0, function(){
      $(this).hide();
   });

	var url = "icq-notices.pl?ajax=1&update=" + notice;
	document.body.style.cursor = 'wait';
	if (window.XMLHttpRequest)
		{
		// code for Mozilla, etc.
		jsHTTP=new XMLHttpRequest();
		jsHTTP.onreadystatechange=updateHideDone;
		jsHTTP.open("GET",url,true);
		jsHTTP.send(null);
		}
	else if (window.ActiveXObject)
		{
		// code for IE
		jsHTTP=new ActiveXObject("Microsoft.XMLHTTP");
		if (jsHTTP)
			{
			jsHTTP.onreadystatechange=updateHideDone;
			jsHTTP.open("GET",url,true);
			jsHTTP.send();
			}
		}
	}

function updateHideDone()
	{
	if (jsHTTP.readyState == 4)
		{
		if (jsHTTP.status != 200)
			{alert('AJAX Error: ' + jsHTTP.status);}
		}
	noticeObj = null;
	document.body.style.cursor = 'default';
	}


function reset_form(formname)
	{
	for (loop=0; loop < document[formname].length; loop++)
		{
		form_element = document[formname][loop];
		switch (form_element.type)
			{
			case 'select-one': form_element.selectedIndex=0; break;
			case 'text'      : form_element.value='';        break;
			case 'checkbox'  : form_element.checked=false;   break;
			}
		}
	}

var hoverTimer;
var informed = false;
				
function rightObject(e,t)
	{
	if ((t.className == 'toolDivRight') && (!informed))
		{
		var reltg = e.relatedTarget ? e.relatedTarget : e.type == 'mouseout' ? e.toElement : e.fromElement;

		while (reltg && reltg != t)
			{reltg = reltg.parentNode;}
		return (reltg != t);
		}
	}
					
function inform()
	{
	// alert('Not sure which icon you want?\nJust click the green arrow on the left!');
	informed = true;
	}
				
function toolEnter(e,t)
	{
	if (rightObject(e,t))
		{hoverTimer = setTimeout('inform()',10000);}
	}

function toolLeave(e,t)
	{
	if (rightObject(e,t))
		{clearTimeout(hoverTimer);}
	}

function setStylesheet(scheme)
	{
	var sheets = document.getElementsByTagName("link");
	for (var i=0; i<sheets.length; i++)
		{
		if (sheets[i].getAttribute("title"))
			{
			if (scheme > '' && sheets[i].href.indexOf(scheme) > -1)
				{
				sheets[i].rel = 'stylesheet';
				sheets[i].disabled = false;
				}
			else
				{
				sheets[i].rel = 'disabled';
				sheets[i].disabled = true;
				}
			}
		}

	var $images = $('div#topPanel img[src*=/b/], div#freddyDiv img[src*=freddy]');
	var src = $images[0].src;

	var current = src.substr(src.indexOf('/b/')+3);
	current = current.substr(0,current.indexOf('/'));

	for (var i=0; i<$images.length; i++)
		{$images[i].src = $images[i].src.replace('/'+current,'/'+scheme);}

   var url = "icq-navedit.pl?ajax=1&colour=" + scheme;
   if (window.XMLHttpRequest)
      {
      // code for Mozilla, etc.
      jsHTTP=new XMLHttpRequest();
      jsHTTP.open("GET",url,true);
      jsHTTP.send(null);
      }
   else if (window.ActiveXObject)
      {
      // code for IE
      jsHTTP=new ActiveXObject("Microsoft.XMLHTTP");
      if (jsHTTP)
         {
         jsHTTP.open("GET",url,true);
         jsHTTP.send();
         }
      }
	}

document.onclick=function() {informed=true;}
