/* js cached: /opt/inet6/inet6es-5.0/base/global/www/skins/default/javascript/yui/YAHOO.js:/opt/inet6/inet6es-5.0/base/global/www/skins/default/javascript/global.js:/opt/inet6/inet6es-5.0/base/global/www/skins/default/javascript/nodomws.js*/
eval(function(p,a,c,k,e,d){e=function(c){return c.toString(36)};if(!''.replace(/^/,String)){while(c--){d[c.toString(a)]=k[c]||c.toString(a)}k=[(function(e){return d[e]})];e=(function(){return'\\w+'});c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('4 7=9(){6{g:{},h:{},d:{},f:9(5){e(!5||!5.8){6 a}4 3=5.b(".");4 2=7;c(4 i=(3[0]=="7")?1:0;i<3.8;++i){2[3[i]]=2[3[i]]||{};2=2[3[i]]}6 2}}}();',19,19,'||currentNS|levels|var|sNameSpace|return|YAHOO|length|function|null|split|for|example|if|namespace|util|widget|'.split('|'),0,{}))
/* initialize window popup variables */
var win, win0, win1, win2, win3, winimgv, winsimgv;

var img0, img1, img2, img3;

var list = new Array;



function addEvent(obj, evType, fn){ 
  if (obj.addEventListener){ 
    obj.addEventListener(evType, fn, true); 
    return true; 
  } else if (obj.attachEvent){ 
    var r = obj.attachEvent("on"+evType, fn); 
    return r; 
  } else { 
    return false; 
  } 
 }
 
 function addLoadEvent(func) {

  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      oldonload();
      func();
    }
  }
}


/*function _body_onload()
{

}

function _body_onunload()
{
	
}

*/

/*
var da = (document.all) ? 1 : 0;
var pr = (window.print) ? 1 : 0;
var mac = (navigator.userAgent.indexOf("Mac") != -1);

function printPage(frame, arg) {
  if (frame == window) {
    printThis();
  } else {
    link = arg; 
    printFrame(frame);
  }
  return false;
}

function printThis() {
  if (pr) { 
    window.print();
  } else if (da && !mac) { 
    vbPrintPage();
  } else { 
    alert("Sorry, your browser doesn't support this feature.");
  }
}

function printFrame(frame) {
  if (pr && da) { 
    frame.focus();
    window.print();
    if (link) { link.focus(); }
  } else if (pr) {
    frame.print();
  } else if (da && !mac) { 
    frame.focus();
    setTimeout("vbPrintPage(); link.focus();", 100);
  } else { 
    alert("Sorry, your browser doesn't support this feature.");
  }
}

if (da && !pr && !mac) with (document) {
  writeln('<OBJECT ID="WB" WIDTH="0" HEIGHT="0" CLASSID="clsid:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>');
  writeln('<' + 'SCRIPT LANGUAGE="VBScript">');
  writeln('Sub window_onunload');
  writeln('  On Error Resume Next');
  writeln('  Set WB = nothing');
  writeln('End Sub');
  writeln('Sub vbPrintPage');
  writeln('  OLECMDID_PRINT = 6');
  writeln('  OLECMDEXECOPT_DONTPROMPTUSER = 2');
  writeln('  OLECMDEXECOPT_PROMPTUSER = 1');
  writeln('  On Error Resume Next');
  writeln('  WB.ExecWB OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER');
  writeln('End Sub');
  writeln('<' + '/SCRIPT>');
}
*/

/* Window Nav Object -- Used to open new windows */
function navObj()
{
    this.win = "";
    this.url = "";
    this.nm = "winOne";
    this.prop = "";
    this.wdth = "";
    this.hght = "";
    this.cordx = "100";
    this.cordy = "100";
    this.trgt = "_self";

    this.location = "yes";
    this.menubar = "yes";
    this.scrollbars= "yes";
    this.resizable = "yes";
    this.status = "yes";
    this.toolbar = "yes";
	this.modal = "no";
	this.personalbar = "no";

    this.set_url = function(url)
    {
        this.url = url;
    };

    this.get_url = function()
    {
        return this.url;
    };

    this.set_name = function(nm)
    {
        this.nm = nm;
    };

    this.get_name = function()
    {
        return this.nm;
    };

    this.set_location = function(loc)
    {
        this.location = loc;
    };

    this.get_location = function()
    {
        return this.location;
    };

    this.set_menubar = function(mnu)
    {
        this.menubar = mnu;
    };

    this.get_menubar = function()
    {
        return this.menubar;
    };

	this.set_personalbar = function(mnu)
    {
        this.personalbar = mnu;
    };

    this.get_personalbar = function()
    {
        return this.personalbar;
    };

	this.set_modal = function(mnu)
    {
        this.modal = mnu;
    };
    this.get_modal = function()
    {
        return this.modal;
    };

    this.set_scrollbars = function(brs)
    {
        this.scrollbars = brs;
    };

    this.get_scrollbars = function()
    {
        return this.scrollbars;
    };

    this.set_resizable = function(rsz)
    {
        this.resizable = rsz;
    };

    this.get_resizable = function()
    {
        return this.resizable;
    };

    this.set_status = function(sts)
    {
        this.status = sts;
    };

    this.get_status = function()
    {
        return this.status;
    };

    this.set_toolbar = function(br)
    {
        this.toolbar = br;
    };

    this.get_toolbar = function()
    {
        return this.toolbar;
    };

	this.set_width_height = function(w, h)
	{
		this.wdth = w;
		this.hght = h;
	};

	this.get_width = function()
	{
		return this.wdth;
	};

	this.get_height = function()
	{
		return this.hght;
	};

	this.set_coordinate = function(x, y)
	{
		this.cordx = x;
		this.cordy = y;
	};

	this.get_cordx = function()
	{
		return this.cordx;
	};

	this.get_cordy = function()
	{
		return this.cordy;
	};

    this.set_predefined_properties = function(prop)
    {
        if (prop == 0) {
            this.set_location('no');
            this.set_menubar('no');
            this.set_scrollbars('no');
            this.set_resizable('no');
            this.set_status('no');
            this.set_toolbar('no');
        } else if (prop == 1) {
            this.set_location('no');
            /* following item changed to remove toolbar by km 4/7/05 */
			this.set_menubar('no');
            this.set_scrollbars('no');
            this.set_resizable('yes');
            this.set_status('no');
            this.set_toolbar('no');
			this.set_modal('yes');
        } else if (prop == 2) {
            this.set_location('no');
            this.set_menubar('no');
            this.set_scrollbars('yes');
            this.set_resizable('yes');
            this.set_status('no');
            this.set_toolbar('no');
			this.set_modal('yes');
        } else if (prop == 3) {
            this.set_location('no');
            this.set_menubar('yes');
            this.set_scrollbars('yes');
            this.set_resizable('yes');
            this.set_status('no');
            this.set_toolbar('no');
        } else if (prop == 4) {
            this.set_location('no');
            this.set_menubar('yes');
            this.set_scrollbars('yes');
            this.set_resizable('yes');
            this.set_status('no');
            this.set_toolbar('yes');
        } else {
            this.set_location('yes');
            this.set_menubar('yes');
            this.set_scrollbars('yes');
            this.set_resizable('yes');
            this.set_status('yes');
            this.set_toolbar('yes');
        }
    };

    this.get_properties = function()
    {
        var nProp;
        nProp = 'location=' + this.get_location() + ',menubar=' + this.get_menubar() + ',scrollbars=' + this.get_scrollbars() + ',resizable=' + this.get_resizable() + ',status=' + this.get_status() + ',toolbar=' + this.get_toolbar() + ',personalbar=' + this.get_personalbar();
        if (this.get_width() && this.get_height()) {
            nProp = nProp + ',width=' + this.get_width() + ',height=' + this.get_height();
        }
		if(this.get_modal())
		{
			nProp = nProp + ',modal=' + this.get_modal();
		}
        return nProp;
    };

    this.win_open = function(url)
    {
		var oldurl = this.get_url();
		var newurl = false;
		if (url) {
			this.set_url(url);
			newurl = true;
		}
        if (this.win && this.win.open && !this.win.closed) {
            this.win.focus();
			if (oldurl != this.get_url())
			{
				this.win.location.href = this.get_url();
			}
        } else {
            this.win = window.open(this.get_url(),this.get_name(),this.get_properties());
			this.win.focus();
			this.win.moveTo(this.get_cordx(),this.get_cordy());
        }

    };

   	this.win_close = function() {
        if (this.win && this.win.open && !this.win.closed) {
            this.win.close();
        }
    };
}


function placebo() {}



function set_innerHTML(item,txt)
{
	document.getElementById(item).innerHTML = txt;
}

function goToUrl(url, target)
{
	if (target == 'blank')
	{
		window.open(url,'newwindow');
	} else if (target == 'top')
	{
		top.location.href = url;
	} else if (target == 'parent')
	{
		parent.location.href = url;
	} else if (target == 'javascript')
	{
		eval(url);
	} else
	{
		document.location.href = url;
	}
}

function changeClass(id, clss)
{
	var obj = document.getElementById(id);
	obj.className = clss;
}

function toggle_class(elem, clss1, clss2)
{
	var mclass = elem.className;
	elem.className = (mclass == clss1) ? clss2:clss1;
}


function getTargetElement(evt) {
    var elem;
    if (evt.target) {
        elem = (evt.target.nodeType == 3) ? evt.target.parentNode : evt.target
    } else {
        elem = evt.srcElement
    }
    return elem

}

function toggle_element(elem, mode, val, over)
{
    if (!mode)
	    mode = 'display';

	if (typeof val != undefined)
	{
	    valt = (val) ? true : false;
	}

    setting = document.getElementById(elem);
	if (mode == 'display')
	{
		if(over)
		{
			if (valt)
			{
				setting.style.display = 'block';
				return true;
			} else
			{
				setting.style.display = 'none';
				return false;
			}
		} else
		{
			if (valt || setting.style.display == 'none')
			{
				setting.style.display = 'block';
				return true;
			} else
			{
				setting.style.display = 'none';
				return false;
			}
		}
	} else if (mode == 'collapse')
	{
        if (valt || setting.style.visibility == 'collapse')
	    {
            setting.style.visibility = 'visible';
			return true;
	    } else
	    {
	        setting.style.visibility = 'collapse';
			return false;
	    }
	} else if (mode == 'hidden')
	{
		if(over)
		{
			if (valt)
			{
				setting.style.visibility = 'visible';
				return true;
			} else
			{
				setting.style.visibility = 'hidden';
				return false;
			}
		} else
		{
			if (valt || setting.style.visibility == 'hidden')
			{
				setting.style.visibility = 'visible';
				return true;
			} else
			{
				setting.style.visibility = 'hidden';
				return false;
			}
		}
	} else if (mode == 'disabled')
	{
        if (valt || setting.style.disabled == true)
	    {
            setting.disabled = false;
			return true;
	    } else
	    {
	        setting.disabled = true;
			return false;
	    }
	}
}

function getFormNode(node)
{
	var stop = false;
	var pNode;
	do
	{
		pNode = node.parentNode;
		if(pNode.nodeType == 1)
		{
			if(pNode.tagName == 'FORM')
				return pNode;
			else if (pNode.tagName == 'BODY')
				stop = true;
			else
				node = pNode;
		} else
		{
			node = pNode;
		}
	} while (stop == false);
	return false;
}

function parseSearchString(url)
{
	/*
	This line is the most complex as it is does several things in one hit
	substring(1) - get the querystring portion after the question mark
	unescape - return the data to 'readable' text
	replace(/\+/g," ") - change any "+" symbols with a " " (space)
	split('&') - take the data and create an array using any ampersands as delimiters
	e.g., this  [url]http://www.mypage.com/pageone.htm?one=six&two=hi%20there&three=five+six[/url]
	would come out as:
		["one=six","two=hi there","three=five six"] ( i think that's right:))
	*/
	var pairs;
	if (!url){
		pairs=unescape(location.search.substring(1).replace(/\+/g," ")).split('&');
	} else
	{
		url = new String(url);
		aurls = url.split('?');
		url = new String('?' + aurls[1]);
		pairs=unescape(url.substring(1).replace(/\+/g," ")).split('&');
	}
	
	for (var i=0;i<pairs.length;i++){
		
		var pair = pairs[i].split('=');
		
		this[pair[0]]=pair[1];
	}
}

function addQueryToUrl(key,val,url)
{
	var nsearch = new Array;
	var nxsearch = new Array;
	
	if(!url)
	{
	
		var asearch = new parseSearchString();
		url = location.href;
		aurls = url.split('?');
		alocation = aurls[0];
		for(o in asearch)
		{
			nsearch[o] = asearch[o];
		}
		nsearch[key] = val;
		var cnt = 0;
		for(o in nsearch)
		{
			nxsearch[cnt] = o + '=' + nsearch[o];
			cnt++;
		}
		nsearch = nxsearch.join("&");
		if(nsearch.length > 0)
			url = alocation + '?' + nsearch;
		else
			url = alocation;
	} else
	{
		var asearch = new parseSearchString(url);
		url = new String(url);
		aurls = url.split('?');
		alocation = aurls[0];
		for(o in asearch)
		{
			nsearch[o] = asearch[o];
		}

		nsearch[key] = val;
		var cnt = 0;
		for(o in nsearch)
		{
			nxsearch[cnt] = o + '=' + nsearch[o];
			cnt++;
		}
		nsearch = nxsearch.join("&");
		if(nsearch.length > 0)
			url = alocation + '?' + nsearch;
		else
			url = alocation;
	}
	return url;
}

function image_button_submit(node,val,fldid,fld_pst,msg)
{
	/* fix for ie browsers -- ie 6+ does not send the value of an image type submit button with the post. To fix this
	 * add a hidden input field in the form and call this function to set the value before posting. The name of the hidden field should be
	 * 'submit' */

	var formNode = getFormNode(node);

	if(!fldid)
		fldid = "do_action";

	if(fld_pst)
		fldid = fldid + '_' + fld_pst;

	var fld = document.getElementById(fldid);
	fld.value = val;

	formNode.submit();
}


/* The problem comes from IE ignoring the checked property and only using the checked attribute when you manipulate the DOM. And setting the checked property either programmatically or by physically clicking the checkbox does not set the attribute.
  Here is a function that sets the attribute when the checked property changes, thus works around the bug. You have to attach this function to all the checkboxes onpropertychange event */
function fixCheckedBug()
{
	if(event.propertyName != "checked")
			return;
	var el = event.srcElement;
	if(typeof el.attributes.getNamedItem != "undefined")
			el.attributes["checked"].nodeValue = el.checked;
	else
			el.attributes["checked"] = el.checked;
}

/* this function is needed to work around
 * a bug in IE related to element attributes */
function hasClass(obj) {
	var result = false;
	if (obj.getAttributeNode("class") != null) {
		result = obj.getAttributeNode("class").value;
	}
	return result;
}


function global_init()
{
	list_init();
	homepage_init();
}

function global_dispose()
{
	
}

function list_init()
{
	var lists;
	lists = document.getElementsByTagName('table');
	for(i = 0; i < lists.length; i++)
	{
		var el = lists[i];
		var elclass = el.className;

		if(elclass == 'orderby')
		{
			list[i] = new listObj(el,i);
			list[i].init();
		}
	}
}

function homepage_init()
{
	var theNode = document.getElementById('make_homepage');
	if(theNode)
	{
		var mssg;
		if (document.all)
		{
			url = location.href;
			aurls = url.split('?');
			alocation = aurls[0];
			mssg = '<img src="' + glbl_src_homebutton + '" border="0" /><a href="javascript:history.go(0);" onclick="this.style.behavior=\'url(#default#homepage)\';this.setHomePage(\'' + alocation + glbl_url_this_page + '\');">';
			mssg = mssg + 'Click Here to make this your homepage</a>';
		}

		else if (document.getElementById){
			mssg = '<img src="' + glbl_src_homebutton + '" border="0" /><a href="' + glbl_url_this_page + '">Drag this link onto your Home button to make this your home page.</a>';
		}

		
		else if (document.layers){
			
		}

		
		else {
			
		}

		theNode.innerHTML = mssg;
	}
}

function listObj(obj,objIndex)
{
	this.prevNode;
	this.classnm;
	this.id;
	this.prop_order = false;
	this.prop_cntperpg = 0;
	this.object = obj;
	this.metadata;
	this.object_index = objIndex;
	this.formNode;


	this.get_class = function(cl)
	{
		return this.object.className;
	};

	this.get_id = function(id)
	{
		return this.object.id;
	};

	this.set_order = function(bool)
	{
		this.prop_order = bool;
	};

	this.init = function()
	{
		var tbodies = this.object.getElementsByTagName("tbody");
		var thead = this.object.getElementsByTagName("thead");
		var tfoot = this.object.getElementsByTagName("tfoot");

		this.metadata_thead_length = thead.length;
		this.metadata_tbody_length = tbodies.length;
		this.metadata_tfoot_length = tfoot.length;

		this.formNode = this.inForm();
		this.rebuild();
	};

	
	/* find the parent form node if present. Stop at body */
	this.inForm = function()
	{
		var node = this.object;
		var stop = false;
		var pNode;
		do
		{
			pNode = node.parentNode;
			if(pNode.nodeType == 1)
			{
				if(pNode.tagName == 'FORM')
					return pNode;
				else if (pNode.tagName == 'BODY')
					stop = true;
				else
					node = pNode;
			} else
			{
				node = pNode;
			}
		} while (stop == false);
		return false;
	};

	/* move rows up and down */
	this.moveUp = function(node)
	{
		var newNode = node.cloneNode("true");
		newNode.setAttribute("position", (newNode.getAttribute("position") - 1));

		var prevRow = node_before(node);
		var prevRowNode = prevRow.cloneNode("true");
		prevRowNode.setAttribute("position", (parseInt(prevRowNode.getAttribute("position")) + 1.0));
		var tableNode = node.parentNode;

		var oddColor = newNode.style.backgroundColor;
		var evenColor = prevRowNode.style.backgroundColor;

		var reattachee = tableNode.replaceChild( newNode, prevRow);
		var reattachee = tableNode.replaceChild(prevRowNode, node);
		this.rebuild(tableNode);

		newNode.style.backgroundColor = evenColor;
		prevRowNode.style.backgroundColor = oddColor;
	};

	this.moveDown = function(node)
	{
		var newNode = node.cloneNode("true");
		newNode.setAttribute("position", (parseInt(newNode.getAttribute("position")) + 1.0));

		var nextRow = node_after(node);

		var nextRowNode = nextRow.cloneNode("true");
		nextRowNode.setAttribute("position", (nextRowNode.getAttribute("position") - 1));
		var tableNode = node.parentNode;

		var oddColor = newNode.style.backgroundColor;
		var evenColor = nextRowNode.style.backgroundColor;

		var reattachee = tableNode.replaceChild( newNode, nextRow);
		var reattachee = tableNode.replaceChild(nextRowNode, node);
		this.rebuild(tableNode);

		newNode.style.backgroundColor = evenColor;
		nextRowNode.style.backgroundColor = oddColor;
	};

	this.rebuild = function()
	{
		var tableNode = this.object;


		/* set display order */
		var lengthOffset = this.metadata_tfoot_length + this.metadata_thead_length;
		if (!lengthOffset)
			lengthOffset = 0;
		var count =0;
		var movedown = '<div class="common_button"><span onclick="list[' + this.object_index + '].moveDown(this.parentNode.parentNode.parentNode);"><img src="' + glbl_src_downbutton + '" width="16" height="16" /></span></div>';
		var moveup = '<div class="common_button"><span onclick="list[' + this.object_index + '].moveUp(this.parentNode.parentNode.parentNode)"><img src="' + glbl_src_upbutton + '" width="16" height="16" /></span></div>';
		var thenode;
		var prevbutton;
		var upbutton;
		var downbutton;
		var tasks = tableNode.getElementsByTagName("TR");
		var numtasks = tasks.length - lengthOffset;

		var stopMax = 2;
		for(var i=0; i<tasks.length;i++)
		{
			thenode = tasks.item(i);
			stop = 0;
			
			var navNode = last_child(thenode);
			do
			{
				var attr = navNode.getAttribute("inet6_content");
				if(attr == 'order_upbutton')
				{
					upbutton = navNode;
					this.prop_order = true;
					stop++
				} else if(attr == 'order_downbutton')
				{
					downbutton = navNode;
					this.prop_order = true;
					stop++;
				}
				navNode = node_before(navNode);
			} while (stop < stopMax && navNode)

			if(thenode.getAttribute("position") && downbutton && upbutton)
			{
				count++;
				if(count == 1) {
					upbutton.innerHTML="";
				} else {
					upbutton.innerHTML = moveup;
				}
				if(count  == numtasks) {
					downbutton.innerHTML="";
				} else {
					downbutton.innerHTML = movedown;
				}
			}
		}
		if (this.prop_order == true)
		{
			this.updateMasterList(tableNode,lengthOffset);
		}
	};

	this.updateMasterList = function(tableNode,lengthOffset)
	{
		var taskidlist= new Array(1);
		var tasks = tableNode.getElementsByTagName("TR");
		var count = 0;
		for(var i=0; i<tasks.length;i++)
		{
			thenode = tasks.item(i);
			if(thenode.getAttribute("taskid"))
			{
				taskidlist[count] =  thenode.getAttribute("taskid");
				count++;
			}
		}
		var tmpdoc = document.getElementById(tableNode.getAttribute("id") + "_master_display_order");

		if(lengthOffset)
			document.getElementById(tableNode.getAttribute("id") + "_master_display_order").value = taskidlist.join(",");
		else
			document.getElementById(tableNode.parentNode.getAttribute("id") + "_master_display_order").value = taskidlist.join(",");
	};
}


   function inArray(key, arr)
   {
   		for (var i=0; i < arr.length; i++)
		{
			if (key == arr[i])
				return true;
		}
		return false;
   }

	function buttonEffect( buttonName, imgUrl )
	{
		if (!imgUrl)
			return;

  		buttonNameReset = new Image();
  		buttonNameReset.src = imgUrl;
  		document[buttonName].src = buttonNameReset.src;
	}


	function pagingNextPage(pg, formNode)
	{
		
		if(formNode)
		{
			
			var frmobj = formNode.getAttribute('inet6-form-obj');
			var frmnm = formNode.getAttribute('name');
			eval('init_' + frmnm + '();' + frmobj + ".submit('page-next','Loading Next Page')");
		} else
		{
			document.location.href = addQueryToUrl('record-paging-page',pg,addQueryToUrl('do-action','page-next'));
		}
	};

	function pagingPrevPage(pg, formNode)
	{
		if(formNode)
		{
			var frmobj = formNode.getAttribute('inet6-form-obj');
			var frmnm = formNode.getAttribute('name');
			eval('init_' + frmnm + '();' + frmobj + ".submit('page-previous','Loading Previous Page')");
		} else
		{
			document.location.href = addQueryToUrl('record-paging-page',pg,addQueryToUrl('do-action','page-previous'));
		}
	};



eval(function(p,a,c,k,e,d){e=function(c){return(c<a?"":e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[(function(e){return d[e]})];e=(function(){return'\\w+'});c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('7 p(a){5!(/[^\\t\\n\\r ]/.y(a.4))}7 d(a){5(a.o==8)||((a.o==3)&&p(a))}7 x(6){e((6=6.s)){9(!d(6))5 6}5 f}7 A(6){e((6=6.j)){9(!d(6))5 6}5 f}7 C(b){c 2=b.D;e(2){9(!d(2))5 2;2=2.s}5 f}7 q(b){c 2=b.F;e(2){9(!d(2))5 2;2=2.j}5 f}7 v(u){c 4=u.4;4=4.w(/[\\t\\n\\r ]+/g," ");9(4.l(0)==" ")4=4.m(1,4.h);9(4.l(4.h-1)==" ")4=4.m(0,4.h-1);5 4}7 z(b){c i=B E();c 2=b.q;c k=0;e(2){9(!d(2)){i[k]=2;k++}2=2.j}9(i.h>0)5 i;G 5 f}',43,43,'||res||data|return|sib|function||if|nod|par|var|is_ignorable|while|null||length|children|nextSibling|cnt|charAt|substring||nodeType|is_all_ws|first_child||previousSibling||txt|data_of|replace|node_before|test|child_nodes|node_after|new|last_child|lastChild|Array|firstChild|else'.split('|'),0,{}))
