/*
 *  © 2000-2007 deviantART, Inc. All rights reserved.
 */
var
deviantART = {
main: function(){}
,cache: {
page:{}
}}
function dre_assert(){}
window.deviantART = deviantART;
var browser={isKHTML: false, isGecko: false, isIE: false, isMac : false, isIE5: false, isIE55: false, isWin: false, isOpera: false, isOpera75: false, isSafe:null, hasXMLHttp : false};
var KHTML 	= browser.isKHTML;
var Gecko 	= browser.isGecko;
var IE 		= browser.isIE;
var IE5 	= browser.isIE5;
var Opera 	= browser.isOpera;
var Safe 	= browser.isSafe;
var Subcategories = null;
with (browser) {
isKHTML =
navigator.userAgent.indexOf("KHTML")>=0;
isGecko =
(!isKHTML) &&
navigator.product == "Gecko";
isIE =
(!isGecko) &&
navigator.cpuClass != undefined &&
navigator.appName == "Microsoft Internet Explorer";
isIE5 =
isIE && (!Function.apply);
isIE55 =
isIE && (document.onmousewheel == undefined);
isOpera =
(!(isIE || isGecko || isKHTML)) &&
document.attachEvent != undefined;
isMac = (navigator.appVersion.indexOf("Mac") >= 0);
if (isOpera){
isOpera75 = (!/Opera[^0-9]*(?:[1-6]|[7\.[1-4]])/.test(navigator.userAgent));
}
if (isOpera){
var r = new XMLHttpRequest;
hasXMLHttp = r.setRequestHeader ? true : false;
delete r;
}else{
hasXMLHttp = browser.isIE || window.XMLHttpRequest;
}
isWin = (navigator.appVersion.indexOf("Windows") != -1) ? true : false;
if (isWin) {
browser.isWin2k = (navigator.userAgent.indexOf("Windows NT 5.0") > 0) ? true : false;
}
isSafe =
document.getElementById != undefined &&
(!isIE5) &&
(document.addEventListener != undefined ||
document.attachEvent != undefined);
}
function setNodeContents(node, sXML, position, besideNode)
{
if ((node.innerHTML != undefined) && ((!position) || node.insertAdjacentHTML != undefined)) {
if (position) {
if (position < 3)
node.insertAdjacentHTML(position == SETNODECONTENTS_APPEND ? "BeforeEnd" : "AfterBegin", sXML);
else
node.insertAdjacentHTML(position == SETNODECONTENTS_BEFORENODE ? "BeforeBegin" : "AfterEnd", sXML);
}else{
node.innerHTML = sXML;
}
}else{
var r = node.ownerDocument.createRange();
if (!node.firstChild) position = 0; // position irrelevant if no firstChild and causes errors otherwise
if (position) {
if (position == SETNODECONTENTS_APPEND)
r.setStartBefore(node.firstChild);
else if (position == SETNODECONTENTS_PREPEND)
r.setStartAfter(node.lastChild);
else if (position == SETNODECONTENTS_AFTERNODE) {
r.setStartAfter(node);
if (node.nextSibling) node.parentNode.insertBefore(r.createContextualFragment(sXML), node.nextSibling);
else node.parentNode.appendChild(r.createContextualFragment(sXML));
}
else if (position == SETNODECONTENTS_BEFORENODE) {
r.setStartBefore(node);
node.parentNode.insertBefore(r.createContextualFragment(sXML), node);
}
}else{
r.selectNodeContents(node);
r.deleteContents();
}
if (position == SETNODECONTENTS_PREPEND && node.childNodes.length>0){
node.insertBefore(r.createContextualFragment(sXML), node.firstChild);
}else{
if (position < 3) node.appendChild(r.createContextualFragment(sXML));
}
}
}
function getNodeContents(node)
{
return node.innerHTML
}
function getOuterHTML (node) {
if (node.outerHTML) return node.outerHTML;
else {
return (new XMLSerializer()).serializeToString(node);
}
}
function getNodeText(Node)
{
var sText = "";
if (getTag(Node)=="br")
return "\n";
forEachItem(
Node.childNodes,
function(Node) {
sText+=
Node.nodeValue?
Node.nodeValue:
getNodeText(Node);
}
);
return sText;
}
function setNodeText(node, sText)
{
while (node.childNodes[0])
node.removeChild(node.childNodes[0]);
node.appendChild((node.ownerDocument || node.document).createTextNode(sText));
}
function getTag(node)
{
return String(node.tagName).toLowerCase();
}
function appendNode(node, after)
{
if (after.nextSibling){
return after.parentNode.insertBefore(node, after.nextSibling);
}else{
return after.parentNode.appendChild(node);
}
}
function removeNode(node)
{
return node.parentNode.removeChild(node);
}
function getElements(node, sSelector, max)
{
var t, c, nodes, returns, i;
if (typeof(node) == 'string' ){
max = sSelector;
sSelector = node;
node = document;
}
if (!max){
max = 10000;  
}
t = sSelector.split('.');
c = t[1];  
t = t[0] == '' ? '*' : t[0];
if (browser.isIE55 && t == '*'){
nodes = node.all;
}else{
nodes = node.getElementsByTagName(t);
}
if (c)
c = ' '+c+' ';
returns = [];
i = -1;
while (t=nodes[++i]){
if (c)
if ((' '+t.className+' ').indexOf(c)<0)
continue;
returns.push(t);
if (returns.length == max)
break;
}
return returns;
}
function getElement(node, sSelector){
if (typeof(node) == 'string' ){
sSelector = node;
node = document;
}
if (sSelector.charAt(0) == '#' ){
return node.getElementById(sSelector.substr(1));
}else{
return getElements(node, sSelector, 1)[0] || null;
}
}
function getChildNodes(node) {
var childNodes = node.childNodes;
var ar = new Array();
for (var i = 0; i < childNodes.length; i++) {
if (childNodes[i].nodeType == 1) ar[ar.length] = childNodes[i];
}
return ar;
}
function isAncestor(ancestor,check)
{
while (check = check.parentNode){
if (check == ancestor)
return true;
}
return false;
}
function getAncestor(node, sSelector)
{
var t, c, nodes, top = (node.ownerDocument || node.document).documentElement;
t = sSelector.split('.');
if (t[1]){
c = ' '+ t[1] + ' ';
}
t = t[0] != '' ? t[0] : null;
do {
if (t && getTag(node) != t)
continue;
if (c && (' '+node.className+' ').indexOf(c)<0)
continue;
return node;
} while ((node = node.parentNode) && node != top);
return null;
}
function getNextSibling(node)
{
while (node && (node = node.nextSibling)){
if (node.nodeValue == null)
return node;
}
return null;
}
function getPreviousSibling(node)
{
while (node = node.previousSibling)
if (node.nodeValue == null)
return node;
return null;
}
function getFirstChild(node)
{
node = node.firstChild;
if ((!node) || node.nodeValue == null)
return node;
return getNextSibling(node);
}
function getLastChild(node)
{
node = node.lastChild;
if (node.nodeValue == null)
return node;
return getPreviousSibling(node);
}
function setClass(node, className)
{
if (!hasClass(node, className)){
node.className += " "+ className;
}
}
function unsetClass(node, className)
{
if (className) node.className = node.className.replace( new RegExp("(^|\\s)" + className + "(\\s|$)", "g"), ' ');
else node.className = "";
}
function hasClass(check, className)
{
if (!check) return false
if (typeof(check) != 'string'){
check = check.className;
}
return ((' '+check+' ').indexOf(' '+className+' ') >= 0);
}
function getNodeDepth(n, ancestor)
{
var i=0;
while (n!=ancestor){
i++;
n = n.parentNode;
}
return i;
}
function isNodeDeeper(n, ancestor, depth)
{
var i=0;
while (n!=ancestor){
i++;
if (i>depth)
return true;
n = n.parentNode;
}
return false;
}
function setActiveClass(n,cls){
var c, a, i, p, done = false, depth;
cls = cls || "active";
c = getAncestor(n, '.switcher');
depth = getNodeDepth(n,c);
a = c.getElementsByTagName(n.tagName);
for (i=0; p = a[i]; i++){
if (isNodeDeeper(p,c,depth))
continue;
if (p == n){
if (cls == 'active'){
c.setAttribute('activeindex',i);
}
}else if (hasClass(p, cls)){
unsetClass(p, cls);
}
}
setClass(n,cls);
return true;
}
if (browser.isIE && !window.XMLHttpRequest) {
window.XMLHttpRequest = function() {
return new ActiveXObject((browser.isIE55 ? "Microsoft" : "Msxml2") + ".XMLHTTP");
};
}
function _xmlhttpSelectNodes(xpath)
{
if (/^\/\/[^\/]*$/.test(xpath)){
return this.getElementsByTagName(xpath.substr(2));
}else{
return null;
}
}
function _xmlhttpSelectSingleNode(xpath)
{
var e = this.selectNodes(xpath);
if (e && e.length)
return e[0];
else
return null;
}
var TIMERFISH;
function _xmlhttprequestPrepare(r, method, uri, contentType, data, callback, userData, onError)
{
if (browser.isGecko && deviantART.isLocal) netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
uri = uri.replace(/^difi:\/{0,2}(.*)$/i, DIFI_PREFIX+ "/$1" +DIFI_SUFFIX);
var id = "XMLHTTP" + Math.round( (Math.random() * 200000) );
if (typeof (data) != "string") {
var str = "";
for (var i in data) {
str += i + "=" + data[i] + "&";
}
data = str.substring(0, str.length-1);
}
if (method == "GET") {
if (uri.indexOf("?") < 0) uri += "?";
uri += data;
}
if (deviantART.isLocal && uri.indexOf("http") != 0) uri = "ht"+"tp://www.deviantart.com" + uri;
r.open(method, uri);
r.onreadystatechange = function () {
if(r.readyState == 4){
var success = true;
if (browser.isKHTML) clearTimeout(TIMERFISH);
if (!browser.isIE && r.responseXML){
if (!r.responseXML.selectNodes) {
r.responseXML.selectNodes = _xmlhttpSelectNodes;
r.responseXML.selectSingleNode = _xmlhttpSelectSingleNode;
}
}
try {
if (r.status == 12029) {
success = false;
}
} catch (e) {
callback(null, uri, null, false);
}
var endTimer = new Date();
if (deviantART.debug){
Profile.add ("XMLHTTP", {
id : id,
type : "XMLHTTP Response", roundTrip : (endTimer - startTimer) + " milliseconds", responseHeaders: "<PRE>" + r.getAllResponseHeaders() + "</PRE>",
status : r.status, responseText: r.responseText, uri: uri
});
}
if (callback){
callback(r, uri, userData, success);
}
try {r.onreadystate = null;} catch (e) {}
}
return true;
}
if (browser.isKHTML){
TIMERFISH = setTimeout(function(){return r},100000);
}
if (deviantART.debug) {
Profile.add ("XMLHTTP", {
id : id,
type: "XMLHTTP Request", method : method, uri : uri, data : data,
contentType : contentType, callback : callback, userData : userData
});
}
var startTimer = new Date();
r.setRequestHeader("Content-Type", contentType);
return r.send(data);
}
function xmlhttpGet(r, uri, contentType, data, callback, userData, onError)
{
return _xmlhttprequestPrepare(r, "GET", uri, contentType, data, callback, userData, onError);
}
function xmlhttpPost(r, uri, contentType, data, callback, userData, onError)
{
return _xmlhttprequestPrepare(r, "POST", uri, contentType, data, callback, userData, onError);
}
if (!browser.isIE && !browser.isOpera) try{
if (!XMLDocument.prototype.selectSingleNode){
XMLDocument.prototype.selectSingleNode = function (sExpression) {
return this.selectNodes(sExpression)[0];
}
}
if (!XMLDocument.prototype.selectNodes){
XMLDocument.prototype.selectNodes = function (sExpression) {
var oDoc = this.ownerDocument || this;
var xPathResult = oDoc.evaluate(sExpression, this, null, 0, null);
var aTemp = new Array();
while (oMatch = xPathResult.iterateNext()) {
aTemp.push(oMatch);
}
return aTemp;
}
}
function _xmlSerialize(oXml) {
return (new XMLSerializer()).serializeToString(oXml || this);
}
XMLDocument.prototype.__defineGetter__("xml", _xmlSerialize);
Element.prototype.__defineGetter__("xml", _xmlSerialize);
}catch (e){}
function getXMLNodeValue(xml, xpath) {
var root = xml.responseXML ? xml.responseXML : xml;
return root.selectSingleNode(xpath).firstChild.nodeValue;
}
function hasXMLError (r, expectedNode) {
var error = false;
if (!r.responseXML) {
error = "Server did not return proper response.";
if (r.responseText) error += "\n" + r.responseText.substring(0, 100);
}
else if (r.responseXML.selectSingleNode("//error")) {
error = "An error occured.";
error += getXMLNodeValue(r, "//error");
}
else if (!r.responseXML.selectSingleNode(expectedNode)) {
error = "Server did not return proper response";
}
return error;
}
_forcePageLayout = function ()
{
if (browser.isGecko || browser.isOpera) {
document.body.style.height = "1px";
document.body.style.height = "auto";
}
else if (!browser.isKHTML) {
document.body.style.display = "none";
document.body.style.display = "block";
}
}
function EqualizeHeight (resize) { 
var equalizers = document.getElementsByName("equalize");
if (equalizers.length==0) return;
for (var i = 0; i < equalizers.length; i++) {
var elms = equalizers[i].getAttribute("title").split(",");
var h = 0;
if (!resize) {
for (var k = 0; k < elms.length; k++) {
h = Math.max(h, getElement("#"+elms[k]).offsetHeight);
}
}
for (var k = 0; k < elms.length; k++) {
if (resize) setStyle(getElement("#"+elms[k]), "height", "auto");
else setStyle(getElement("#"+elms[k]), "height", h+"px");
}        
}
if (!EqualizeHeight.setResizeHook) {
hookEvent(window, "resize", function(e){ EqualizeHeight (true); });
EqualizeHeight.setResizeHook = true;
}
if (resize) {
setTimeout("EqualizeHeight(false)", 100);
}
}
//hookEvent(deviantART, "applicationready", EqualizeHeight, false, "Equalizing elements.");


function layoutFlush()
{
void(document.body.offsetHeight);
}
function forEachStyleRule(x, call)
{
if (x.styleSheets){
x = x.styleSheets;
for (var i=0; i!=x.length; i++){
if (forEachStyleRule(x[i].cssRules, call) == -1)
return -1;
}
}else{
if (x.cssRules){
x = x.cssRules;
}
for (var i=0; i!=x.length; i++){
if (x[i].styleSheet){
if (forEachStyleRule(x[i].styleSheet, call) == -1)
return -1;
}else{
if (call(x[i]) == -1)
return -1;
}
}
}
}
function getRealSize(n,dim)
{
if (dim == 'width'){
return n.offsetWidth - (
parseInt(getStyle(n,'padding-left'))
+parseInt(getStyle(n,'padding-right'))
+parseInt(getStyle(n,'border-left-width'))
+parseInt(getStyle(n,'border-right-width'))
);
}else if (dim == 'height'){
return n.offsetHeight - (
parseInt(getStyle(n,'padding-top'))
+parseInt(getStyle(n,'padding-bottom'))
+parseInt(getStyle(n,'border-top-width'))
+parseInt(getStyle(n,'border-bottom-width'))
);
}
dre_warning('Received dim=="'+dim+'", expected "width" or "height"');
}
function matchWidth(n2,n1)
{
setStyle(n2,'width',getRealSize(n1,'width')+'px');
}
function setStyle_IE(node, property, value)
{
if (property == "opacity"){
node.style.filter = 'alpha(opacity='+(value*100)+')';
}else{
node.runtimeStyle.setAttribute(property, value);
}
}
function getStyle_IE(node, property)
{
if (property=="opacity"){
return 1;
return parseInt(node.filters.alpha.opacity)/100;
}else if (property == 'width'){
return node.offsetWidth+'px';
}else if (property == 'height'){
return node.offsetHeight+'px';
}else{
return node.runtimeStyle[property] || node.currentStyle[property];
}
}
function setStyle_DOM(node, property, value)
{
if (property == "opacity" && browser.isGecko && navigator.appVersion.indexOf("Mac")<0){
if (node.style.opacity == undefined){
property = "-moz-opacity";
}
if (value == 1){
geckoFlickerFix(node);
value = .99;
}//else Debug(value);
}
node.style[property] = value;
}
function getStyle_DOM(node, property)
{
property = property.replace(/([A-Z])/g, '-$1').toLowerCase();
return node.style[property] || getComputedStyle(node, "").getPropertyValue(property);
}
function holdStyle(node, sAttr)
{
setStyle(node, sAttr, getStyle(node, sAttr));
}
function removeStyle(node, sAttr)
{
node.style.removeProperty(sAttr);
}
var _geckoFlickerFixes = Array();
function geckoFlickerFix(node)
{
if(!_geckoFlickerFixes.length){
hookEvent(document.documentElement, "scroll", _geckoFlickerFixFlush);
hookEvent(document.documentElement, "mousewheel", _geckoFlickerFixFlush);
}
_geckoFlickerFixes.push(node);
}
function _geckoFlickerFixFlush()
{
forEachItem(
_geckoFlickerFixes,
function(node){
node.style.removeProperty("opacity");
}
);
_geckoFlickerFixes.length = 0;
unhookEvent(document.documentElement, "scroll", _geckoFlickerFixFlush);
unhookEvent(document.documentElement, "mousewheel", _geckoFlickerFixFlush);
}
function setStyles (node, properties) {
var blank = new Object(); // in case of prototypes later on
for (var i in properties) {
if (!blank[i]) setStyle(node, i, properties[i]);
}
}
var _styleStack = Array();
function pushStyle(node, property, value)
{
var a, p;
if (!value){
value = getStyle(node, property);
}
a = findEntry(_styleStack, 'node', node);
if (!a){
a =  { node: node };
_styleStack.push( a );
}
if (!a[property]){
a[property] = Array();
}
a[property].push(value);
}
function popStyleValue(node, property)
{
try{
return findEntry(_styleStack, 'node', node)[property].pop();
}catch(e){
return null;
}
}
function popStyle(node, property, fallback)
{
setStyle(node, property, popStyleValue(node, property) || fallback);
}
function getNodeCoords(n, noScrollAdjust)
{
var r = {x:0,y:0};
do{
if (
browser.isGecko &&
n.tagName == 'TABLE' &&
n.getAttribute('align') == 'center' &&
getStyle(n, 'position') == 'relative'
){
r.x += parseInt((n.offsetWidth - n.tBodies[0].offsetWidth) / 2);
}
r.x += n.offsetLeft;
r.y += n.offsetTop;
}while (n = n.offsetParent);
if (noScrollAdjust && !browser.isIE){
r.y -= window.pageYOffset;
}
return r;
}
function getNodeRect(n,a)
{
var r;
r = getNodeCoords(n,a);
r.x2 = r.x+(r.w=n.offsetWidth);
r.y2 = r.y+(r.h=n.offsetHeight);
return r;
}
function Fixes()
{
EnhanceFormControls();
}

var _customEventHandlers = Array();
function registerCustomEvent(sEvent)
{
if (!(sEvent in _customEventHandlers)){
_customEventHandlers[sEvent] = Array();
}
}
function fireCustomEvent(node, sEvent, eventInfo, outputDebug)
{
var
ret = true,
bubble = true,
e = {
currentTarget: node,
target: null,  
timeStamp: 0,
type: sEvent,
bubbles: true,
stopPropogation: function(){
bubble = false;
},
cancelable: true,
preventDefault: function(){
if (e.cancelable){
ret = false;
}
}
}
;
if (eventInfo){
mergeObjects(e, eventInfo);
}
forEachItem(
_customEventHandlers[sEvent],
function(handler, i){
forEachAncestor(
handler.node,
function(handlerNode){
if (handlerNode == node){
e.target = handlerNode;
if (deviantART.debug && outputDebug){
startWatch("Event "+handler.debug);
}
handler.call(e);
if (deviantART.debug && outputDebug){
outputDebug(handler.debug, stopWatchValue("Event "+handler.debug));
}
if (!bubble)
return -1;
}
}
);
}
);
return ret;
}
function hookEvent(node, sEvent, call, capture, sDebug)
{
dre_assert(call);
if (sEvent in _customEventHandlers){
_customEventHandlers[sEvent].push({node:node, call:call, debug:sDebug });
return;
}else if (node.addEventListener) {
node.addEventListener(sEvent, call, capture || false);
}else if (node.attachEvent) {
node.attachEvent("on"+sEvent, call);
}
if (eventHooks){
eventHooks.push({node:node, event:sEvent, call:call, capture:capture});
}
}


var _nodeObjects = new Array();
function getNodeObject(n)
{	
if (n.id || n.uniqueID){
return _nodeObjects[n.id || n.uniqueID];
}else for (var i=0;i!=_nodeObjects.length;i++){
if (_nodeObjects[i].n == n){
return _nodeObjects[i].o;
}
}
}
function setNodeObject(n, o)
{   
if (n.id || n.uniqueID){
_nodeObjects[n.id || n.uniqueID] = o;
}else{
_nodeObjects.push( { n:n, o:o } );
}
}

function ForEachItem(items, call, nonLinear)
{
if (nonLinear == true){
for (var i in items)
if (call(items[i], i) == -1)
return;
}else if((items.length != undefined) && (typeof items) != 'string'){
for (var i=0; items[i]; i++)
if (call(items[i], i) == -1)
return;
}else{
call(items, 0);
}
}
function CatchEvent(node, sEvent, call, passEvent, capture)
{
if(passEvent){
return hookEvent(node, sEvent, call, capture);
}else{
var f;
if (node.addEventListener) {
node.addEventListener(
sEvent,
f=function(e) {
var r = call(node);
if (!r && e.cancelable)
e.preventDefault();
return r;
},
capture || false
);
}else if (node.attachEvent) {
node.attachEvent(
"on"+sEvent,
f=function(e) {
return call(node);
}
);
}
if (eventHooks){
eventHooks.push({node:node, event:sEvent, call:f, capture:capture});
}
}
}
var eventHooks;
if (browser.isIE || browser.isGecko){
eventHooks = Array();
}


function hookEventOnce(node, sEvent, call, capture)
{
function eventCall(e)
{
call(e);
unhookEvent(node,sEvent,arguments.callee,capture);
}
hookEvent(node, sEvent, eventCall, capture);
}
function unhookEvent(node, sEvent, call, capture)
{
if (sEvent in _customEventHandlers){
var e;
e = _customEventHandlers[sEvent];
forEachItem(
e,
function(h, i){
if (h.node==node && h.call==call){
e.splice(i, 1);
}
}
);
return;
}else if (node.removeEventListener) {
node.removeEventListener(sEvent, call, capture || false);
}else if (node.detachEvent) {
node.detachEvent("on"+sEvent, call);
}
if (eventHooks){
forEachItem(
eventHooks,
function(hook, i){
if(
(!hook)
|| hook.node	 != node
|| hook.event	 != sEvent
|| hook.call	 != call
|| hook.capture	 != capture
)
return;
eventHooks[i] = null;
}
);
}
}
function nullEvent()
{
return false;
}
function cancelEvent(e)
{
if (!e)
e = window.event;
if (!e)
return false;
if (e.cancelable){
if (browser.isKHTML && e.type == "click"){
var l, f;
l = getAncestor(e.target, "a");
if (l){
f = l.onclick || null;
l.onclick = nullEvent;
setTimeout(function(){ l.onclick = f; }, 1);
}
}
e.preventDefault();
}else{
e.returnValue = false;
}
return false;
}
function stopEvent(e)
{
if (e.bubbles && e.stopPropagation){
e.stopPropagation();
}else{
e.cancelBubble = true;
}
return e;
}
var _lastMouseCoords;
function getMouseCoords(eMouse,scrollAdjust)
{
_lastMouseCoords = { x: eMouse.clientX, y: eMouse.clientY }
if (browser.isKHTML && !scrollAdjust){
_lastMouseCoords.x -= window.pageXOffset;
_lastMouseCoords.y -= window.pageYOffset;
}
if (scrollAdjust && !(browser.isKHTML || browser.isIE)){
_lastMouseCoords.x += window.pageXOffset;
_lastMouseCoords.y += window.pageYOffset;
}
return _lastMouseCoords;
}
function isLeftClick(eMouse)
{
with (eMouse){
return !(button>1 || ctrlKey || shiftKey || altKey || metaKey);
}
}
function getEventTarget(e)
{
return (e.srcElement || e.target);
}
function getEventLink(e)
{
var a = getEventTarget(e);
if (!(a.tagName && getTag(a) == 'a')){
a = getAncestor(a,'a');
}
if (a && getTag(a) == 'a'){
return a;
}else{
return null;
}
}
function unloadEventHooks()
{
forEachItem(
eventHooks,
function(hook, i){
if (!hook)
return;
if (hook.node.removeEventListener){
hook.node.removeEventListener(hook.event, hook.call, hook.capture);
eventHooks[i] = null;
}else{
hook.node.detachEvent("on"+hook.event, hook.call);
}
}
);
}
function GetAttribute(Node, sAttr)
{
var sReturn, Match, RgAttribute;
if ((sReturn = Node.getAttribute(sAttr)) || !Opera)
return sReturn;
RgAttribute = RegExp('<' + Node.tagName + '[^>]*' + sAttr + '="([^"]*)"[^>]*>', 'i');
Match = String(Node.outerHTML).match(RgAttribute);
return Match ? Match[1] : null;
}
hookEvent(deviantART, "applicationready", Fixes, false, "Prepare Enhanced Form Controls [old module]");


function unloadEvent()
{
fireCustomEvent(deviantART, "enterstasis");
if (eventHooks)
unloadEventHooks();
}
function EnhanceFormControls(Node)
{
if (!Node)
Node = document;
if (browser.isIE) {
forEachItem(
Node.getElementsByTagName("label"),
function(label) {
forEachItem(
label.getElementsByTagName("img"),
function(sub) {
hookEvent(sub, "click", _IELabelClick);
}
);
}
);
}}