function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function dump_var(o) {
    var dd = "";
    for (var prop in o) { dd = dd + "\n" + prop + "=" + o[prop]; }
    return dd;
}

function dump_props(o) {
    var dd = "";
    for (var prop in o) { dd = dd + ", " + prop; }
    return dd;
}


function toggle_toc() {
    var l = MM_findObj("link-contents");
    var h = MM_findObj("page-title");
    var c = MM_findObj("contents");
    var t = MM_findObj("toc");
    if (c != null  &&  t != null  &&  l.href == "sitemap.html") {
	var swap = c.innerHTML
	c.innerHTML = t.innerHTML;
	t.innerHTML = swap;
	l.href = "index.html";
	l.innerHTML = "Back";
    } else if (c != null  &&  t != null) {
	var swap = c.innerHTML
	c.innerHTML = t.innerHTML;
	t.innerHTML = swap;
	l.href = "#";
	l.innerHTML = "Sitemap";
    }
}

function MM_swapDiv() { //v3.0
	var i,j=0,x,a=MM_swapDiv.arguments;
	document.MM_sr = new Array;
	for(i=0; i<(a.length-2); i+=3)
	   if ((x=MM_findObj(a[i]))!= null){
			document.MM_sr[j++]=x;
			x.innerHTML=a[i+2];
		}
}

function sendme(name, domain, text) {
    address = name+'@'+domain;
    if(!text) 
	text = address;
    document.write('<a href="mailto:'+address+'">'+text+'</a>');
}

