function addFormEvent(func) {
	if (!document.getElementById | !document.getElementsByTagName)
		return;

	var oldonload=window.onload;
	if (typeof window.onload != 'function') {
		window.onload=func;
	} else {
		window.onload=function() {
			oldonload();
			func();
		}
	}
}

function dump(arr,level) {
	var dumped_text = "";
	if(!level) level = 0;

	var level_padding = "";
	for(var j=0;j<level+1;j++)
		level_padding += "    ";

	if(typeof(arr) == 'object') { //Array/Hashes/Objects
		for(var item in arr) {
			var value = arr[item];
			if(typeof(value) == 'object') { //If it is an array,
				dumped_text += level_padding + "'" + item + "' ...\n";
				dumped_text += dump(value,level+1);
			} else {
				dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
			}
		}
	} else { //Stings/Chars/Numbers etc.
		dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
	}
	return dumped_text;
} 

function bookmark() {
	var title = "ScaryNet - Your source of IRC";
	var url = "http://www.scarynet.org/";
	if (window.sidebar) { // Mozilla Firefox Bookmark
		window.sidebar.addPanel(title, url,"");
	} else if( window.external ) { // IE Favorite
		window.external.AddFavorite( url, title);
	} else if( window.opera && window.print ) { // Opera
		var mbm = document.createElement('a');
		mbm.setAttribute('rel','sidebar');
		mbm.setAttribute('href',url);
		mbm.setAttribute('title',title);
		mbm.click();
	} else {
		alert('Your browser does not support Javascript bookmarks.\r\n'+
			'Please bookmark the site using the browsers method');
	}
}

function externalLinks() {
	if (!document.getElementsByTagName)
		return;
	var tags = document.getElementsByTagName("a");
	for (var i=0; i<tags.length; i++) {
		if (tags[i].getAttribute("rel")) {
			if (tags[i].getAttribute("rel") == "external") {
				tags[i].target = "_blank";
			} else if (tags[i].getAttribute("rel").substr(0,3) == "irc") {
				var chan = tags[i].getAttribute("rel").substr(4);
				tags[i].href='javascript:showIrc(\''+chan+'\');';
				newDiv = document.createElement("div");
				newDiv.innerHTML = '<p align="right"><a href="#" onclick="newDiv.style.display=\'none\'">Close</a><h1>Chat on #'+chan+'</h1>';
				
			} else if (tags[i].getAttribute("rel").substr(0,8) == "safemail") {
				var id = tags[i].getAttribute("rel").substr(9);
				sendRequest('/sendmail.php?id='+id,handleRequest,tags[i]);
			}
		}
	}
	var tags = document.getElementsByTagName("form");
	for (var i=0; i<tags.length; i++) {
		if (tags[i].id.substr(0,8) == "external") {
			tags[i].target = "_blank";
		}
	}
}

startList = function() {
	if (document.all&&document.getElementById) {
		cssdropdownRoot = document.getElementById("menu-dropdown");
		for (x=0; x<cssdropdownRoot.childNodes.length; x++) {
			node = cssdropdownRoot.childNodes[x];
			if (node.nodeName=="LI") {
				node.onmouseover=function() {
					this.className+=" over";
				}
				node.onmouseout=function() {
					this.className=this.className.replace(" over", "");
				}
			}
		}
	}
}

function sendRequest(url,callback,target,postData) {
	var req = createXMLHTTPObject();
	if (!req) return;
	var method = (postData) ? "POST" : "GET";
	req.open(method,url,true);
	req.setRequestHeader('User-Agent','XMLHTTP/1.0');
	if (postData)
		req.setRequestHeader('Content-type','application/x-www-form-urlencoded');
	req.onreadystatechange = function () {
		if (req.readyState != 4) return;
		if (req.status != 200 && req.status != 304) {
			return;
		}
		callback(req,target);
	}
	if (req.readyState == 4) return;
	req.send(postData);
}

var XMLHttpFactories = [
	function () {return new XMLHttpRequest()},
	function () {return new ActiveXObject("Msxml2.XMLHTTP")},
	function () {return new ActiveXObject("Msxml3.XMLHTTP")},
	function () {return new ActiveXObject("Microsoft.XMLHTTP")}
];

function createXMLHTTPObject() {
	var xmlhttp = false;
	for (var i=0;i<XMLHttpFactories.length;i++) {
		try {
			xmlhttp = XMLHttpFactories[i]();
		}
		catch (e) {
			continue;
		}
		break;
	}
	return xmlhttp;
}

function handleRequest(req,target) {
	target.target = "_blank";
	target.href = "mailto:"+req.responseText;
	target.innerHTML = req.responseText;
}

function showIrc(chan) {
//	alert(chan);
	target = document.getElementById('chatselect');
	document.getElementById('chatselect_chan').innerHTML = 'Connect to #'+chan;
	document.getElementById('chan').value = chan;
	target.style.display = 'block';
}

function closeIrc() {
	target = document.getElementById('chatselect');
	target.style.display = 'none';
}

function launchIrc(chan) {
	var dest = false;
	if (document.getElementById('use_client').checked) {
		dest = 'irc://irc.scarynet.org/'+chan;
	} else if (document.getElementById('use_mibbit').checked) {
		dest = 'http://widget.mibbit.com/?server=irc.scarynet.org&channel=%23'+chan+'&noServerNotices=true&noServerMotd=true&autoConnect=true';
	} else if (document.getElementById('use_cgiirc').checked) {
		dest = 'http://webchat.scarynet.org/?chan='+chan;
	} else if (document.getElementById('use_qweb').checked) {
	} else if (document.getElementById('use_java').checked) {
	}
	if (dest) {
		window.open(dest);
		closeIrc();
	}
}

google_ad_client = "pub-6349946218387731";
google_ad_slot = "3317020138";
google_ad_width = 468;
google_ad_height = 60;
google_color_border = "FFFFFF";
google_color_bg = "EEEEEE";
google_color_link = "0000FF";
google_color_text = "000000";
google_color_url = "008000";
_uacct = "UA-2571775-2";

addFormEvent(urchinTracker);
addFormEvent(externalLinks);
addFormEvent(startList);
