/* Output from Intronics GZip Javascript Streamer v1.01
	Several Javascript source files are included in this single compressed stream.
	Modules Included in Output (in order): dynawrite, homepage  */

// dynawrite.js

var Rewrite = {
	handlers: null,
	
	initHandlers: function() {
		with (Rewrite) {
			handlers = new Object();
			handlers["set"] = function(xml, item) {
				if (item) {
					var a = xml.attributes;
					for (var j in a) item[a[j].nodeName] = a[j].nodeValue;
				}
			};
			handlers["delete"] = function(xml, item) {
				if (item) killChildren(item, true);
			};
			handlers["replace"] = function(xml, item) {
				if (!item) return;
				var parent = item.parentNode;
				var next = item.nextSibling;
				killChildren(item, true);
				copyChildren(xml, parent, next);
			};
			handlers["precede"] = function(xml, item) {
				if (item) copyChildren(xml, item.parentNode, item);
			};
			handlers["follow"] = function(xml, item) {
				if (item) copyChildren(xml, item.parentNode, item.nextSibling);
			};
			handlers["rewrite"] = function(xml, item) {
				if (!item) return;
				killChildren(item, false);
				copyChildren(xml, item);
			};
			handlers["prepend"] = function(xml, item) {
				if (item) copyChildren(xml, item, item.firstChild);
			};
			handlers["append"] = function(xml, item) {
				if (item) copyChildren(xml, item);
			};
			handlers["javascript"] = function(xml) {
				eval(xml.textContent);
			};
			handlers["error"] = function(xml) {
				alert(xml.textContent);
			}
		}
	},
	
	registerHandler: function(tagName, func) {
		if (this.handlers == null) this.initHandlers();
		this.handlers[tagName] = func;
	},
	
	load: function(url, msg, callback) {
		var r;
		try {
			r = new XMLHttpRequest();
		} catch(tryIE6) {
			try {
				r = new ActiveXObject("Msxml2.XMLHTTP");
			} catch(olderIE) {
				try {
					r = new ActiveXObject("Microsoft.XMLHTTP");
				} catch(failure) {
					return true;
				}
			}
		}
		r.onreadystatechange = function() {Rewrite.onXML(r, callback);};
		r.open((msg) ? "POST" : "GET", url, true);
		r.setRequestHeader('X-Requested-With','XMLHttpRequest');
		r.setRequestHeader('X-AJAX-Client','Dynawrite 1.6');
		if (msg) r.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		r.send(String(msg));
		return false;
	},
	
	onXML: function(r, callback) {
		with (r) {
			switch(readyState) {
				case 1:
					window.status = "Request Sent"; break;
				case 2:
					window.status = "Waiting for Response"; break;
				case 3:
					window.status = "Receiving Data..."; break;
				case 4:
					window.status = "Integrating Document...";
						if (status == 200) {
							var h = Rewrite.handlers;
							var item, id;
						
							try {
								if (String(document.URL).search(/#debug/) != -1) {
									debug(responseText, true);
									addBytes(responseText.length);
								}
							} catch (ignored) {
							}
						
							if (responseXML && responseXML.documentElement) {
								var c = responseXML.documentElement.childNodes;
								if (c) {
									var xml;
									for(var i = 0; i < c.length; i++) {
										xml = c[i];
										if (xml.nodeType == 1) {
											if (typeof h[xml.nodeName] == 'function') {
												id = xml.id ? xml.id : xml.getAttribute('id');
												item = (id) ? document.getElementById(id) : null;
												h[xml.nodeName](xml, item);
											}
										}
									}
								}
							} else {
								if (typeof h['text'] == 'function') h['text'](responseText);
								else alert("XML File Could Not Be Parsed");
							}
							if (typeof callback == 'function') callback(responseXML);
						} else {
							alert("There was a problem getting the XML Response:\n" + statusText);
						}
						window.status = "";
			}
		}
	}
};
Rewrite.initHandlers();
if (typeof killChildren != 'function') {
	function killChildren(item, itemToo) {
		if (itemToo) {
			if (item.parentNode) item.parentNode.removeChild(item);
		} else {
			var c = item.childNodes;
			var count = c.length;
			while (count > 0) item.removeChild(c[--count]);
		}
	}
}
function addBytes(bytes) {
	addBytes.bytes += bytes;
	if (addBytes.txt) {
		addBytes.txt.nodeValue = addBytes.bytes + "\n" + bytes;
	} else {
		var div = document.createElement('pre');
		with (div.style) {
			zIndex = 5000;
			position = "absolute";
			margin = 0;
			left = "2px";
			top = "2px";
			color = "white";
		}
		addBytes.txt = document.createTextNode(addBytes.bytes + "\n" + bytes);
		div.appendChild(addBytes.txt);
		document.documentElement.appendChild(div);
	}
}
addBytes.txt = null;
addBytes.bytes = 0;
function debug(text, close) {
	debug.win = window.open('', 'RewriteDebugWin');
	if (debug.win) {
		if (!debug.doc) {
			debug.doc = debug.win.document;
			debug.doc.open("text/plain", '');
		}
		if (debug.doc) {
			if (text) debug.doc.writeln(text);
			if (close) {
				debug.doc.close();
				debug.doc = false;
			}
		}
	}
}
var fastCopy = (typeof document.importNode == 'function');
if (navigator.userAgent.toLowerCase().search(/opera 8|safari 2/) != -1) fastCopy = false;
if (fastCopy) {
	function copyChildren(src, dest, before) {
		var c = src.childNodes;
		if (c) {
			var doc = dest.ownerDocument;
			var l = c.length;
			if (before) {
				for(i = 0; i < l; i++) dest.insertBefore(doc.importNode(c[i], true),before)
			} else {
				for(i = 0; i < l; i++) dest.appendChild(doc.importNode(c[i], true));
			}
		}
	}
} else {
	function copyChildren(src, dest, before) {
		var a;
		var n;
		var i;
		var j;
		var c = src.childNodes;
		var ci;
		var s, si, m, p;
		if (c) {
			var doc = dest.ownerDocument;
			for(i = 0; i < c.length; i++) {
				ci = c[i];
				if (ci.nodeType == 3) {
					if (ci.nodeValue.search(/[^\t\n\r ]/g) != -1) {
						if (before) dest.insertBefore(doc.createTextNode(ci.nodeValue), before);
						else dest.appendChild(doc.createTextNode(ci.nodeValue));
					}
				} else {
					if (typeof ci.nodeName != 'string') break;
					if (n = doc.createElement(ci.nodeName)) {
						if (a = ci.attributes) {
							for (j = 0; j < a.length; j++) {
								switch (a[j].nodeName) {
									case 'style':
										s = a[j].nodeValue.split(/\s*;\s*/);
										for( si = 0; si < s.length; si++ ) {
											m = s[si].split(/\s*:\s*/);
											p = 0;
											while ((p = m[0].indexOf('-', p)) != -1)
												m[0] = m[0].slice(0, p) + m[0].charAt(p + 1).toUpperCase() + m[0].slice(p + 2);
											n.style[m[0]] = m[1];
										}
										break;
									case 'class':
										n.className = a[j].nodeValue;
										break;
									default:
										n[ a[j].nodeName ] = a[j].nodeValue;
								}
							}
						}
						if (ci.firstChild) {
							copyChildren(ci, n);
						}
						if (before) dest.insertBefore(n, before);
						else dest.appendChild(n);
					}
				}
			}
		}
	}
}
String.prototype.safe = function() {
	return this.replace(/ /, '+').replace(/&/, '%26').replace(/=/, '%3D').replace(/\?/, '%3F');
}
function formContent(item) {
	if (typeof(item) != 'object') item = document.getElementById(String(item));
	var data = '';
	if (item) {
		while (item.tagName != 'form') if (!(item = item.parentNode)) return data;
		var elements = item.elements;
		for (var i = 0; i < elements.length; i++) {
			if (data) data += '&';
			data += elements[i].name.safe() + '=' + elements[i].value.safe();
		}
	}
	return data;
}

// homepage.js
function toggleEntry(event) {
	var event = FixEvent(event);
	var target = event.target;
	while (target.nodeName.toLowerCase() != 'tbody') target = target.parentNode;
	if (!removeClass(target, 'collapsed')) addClass(target, 'collapsed');
	return CancelEvent(event);
}
function getMore(ID, event) {
	var event = FixEvent(event);
	var target = event.target;
	var parent = target.parentNode;
	
	var img = Create('img');
	img.src = '_img/spin32.gif';
	img.id = 'placeholder-' + ID;
	parent.removeChild(target);
	parent.appendChild(img);
	
	Rewrite.load('index.php', "id=" + ID);
	return CancelEvent(event);
}

