sfHover = function() {
	var sfEls = document.getElementById("nav").getElementsByTagName("LI");
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].className+="iefix";
		sfEls[i].onmouseover=function() {
			this.className+=(this.className.length > 0? " ": "") + "sfhover";
		}
		sfEls[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp("( ?|^)sfhover\\b"), "");
		}
	}
//	alert(navigator.appVersion);
	if (navigator.appVersion.indexOf("MSIE 5")>-1) { window.resizeBy(2*Math.floor(Math.random()*2)-1,0); }
}
//if (window.attachEvent) window.attachEvent("onload", sfHover);
if (document.all&&document.getElementById) window.onload=sfHover;
if (document.all&&document.getElementById) window.onunload=sfHover;

function spawn(expr,qty,reversed){
	var spawnee = [expr];
	for(s = 1;s<qty;s++){
		spawnee[s] = expr+spawnee[s-1]
	}
	if(reversed){
		return spawnee.reverse()
	}else{
	return spawnee
	}
}

function mw_crumbs(divider,default_page,root){
	if(!divider) {divider=" : "}
	if(!default_page){default_page="index.html"}
	//m="http://www.mickweb.com/javascript/tutorials/breadcrumbs/explanation.html",h=""
		var m=location.toString(),h="";
		var searchpos=m.indexOf("/cgi-bin/search.cgi")
		if (searchpos>-1){
			m=m.substr(0,searchpos)+"/search";
		}
		m=m.substring(m.indexOf("/")+1);
		m=m.split("/");
		var howmany=spawn("../",m.length,true);
		howmany[m.length]=default_page;
		for(i=1;i<m.length-1;i++){
			var label = m[i].substr(0,1).toUpperCase() + m[i].substr(1);
			if (label.indexOf(".co")>-1) { label = "Home"; }
			if (label == "Kb") { label = "Knowledgebase"; }
			if (label == "Success-stories") { label = "Success Stories"; }
                      h+=("<a href="+howmany[i+2]+">"+unescape( label+"</a>"+divider))
		}
		var doctitle;

		if (label == "Knowledgebase") {
                	doctitle = "";
		} else {
			doctitle = m[m.length-1].replace('-',' ').replace('-',' ').replace('-',' ');
                        // remove any #name marker at the end of the URL
                        var markerpos=doctitle.indexOf("#")
               		if (markerpos>-1){
		 	                  doctitle=doctitle.substr(0,markerpos);
                        } 
			// all price pages have the same simple breadcrumb
                        if (doctitle.substr(0,6) == "prices") { 
                           doctitle = "Prices";
                        };
                        doctitle = doctitle.replace('.html','');
                        switch (doctitle) {
                        case "lispworks":doctitle = "LispWorks";break;
                        case "lww":doctitle = "LispWorks for Windows";break;
                        case "lwl":doctitle = "LispWorks for Linux";break;
                        case "lws":doctitle = "LispWorks for x86/x64 Solaris";break;
                        case "lwm":doctitle = "LispWorks for Macintosh";break;
                        case "lw64sparc":doctitle = "LispWorks Enterprise (64-bit) for SPARC Solaris";break;
                        case "lww per":doctitle = "LispWorks Personal Edition for Windows ";break;
                        case "lwl per":doctitle = "LispWorks Personal Edition for Linux";break;
                        case "lws per":doctitle = "LispWorks Personal Edition for x86/x64 Solaris";break;
                        case "lwf per":doctitle = "LispWorks Personal Edition for FreeBSD";break;
                        case "lwm per":doctitle = "LispWorks Personal Edition for Macintosh";break;
                        case "lwf":doctitle = "LispWorks for FreeBSD";break;
                        case "lwu":doctitle = "LispWorks for UNIX";break;
                        case "lcl":doctitle = "Liquid Common Lisp";break;
                        case "knowledgeworks":doctitle = "KnowledgeWorks";break;
                        case "capi":doctitle = "CAPI";break;
                        case "ide":doctitle = "LispWorks IDE";break;
                        case "corba":doctitle = "LispWorks ORB";break;
                        case "faq":doctitle = "FAQ";break;
                        case "papers":doctitle = "Papers and books";break;
                        case "50 50 special offer":doctitle = "50/50 Special Offer";break;
                        case "biobike":doctitle = "BioBike";break;
                        case "pgedit":doctitle = "pgEdit";break;
                        case "inspiredata":doctitle = "InspireData";break;
                        case "dunlap":doctitle = "Dunlap & Partners";break;
                        case "collogue":doctitle = "Collogue Corporation";break;
                        case "memetrics xos":doctitle = "Memetrics XOS";break;
                        case "akri kst":doctitle = "AKRI KST";break;
                        case "noteheads igor engraver":doctitle = "NoteHeads Igor Engraver";break;
                        case "liberating insight erms":doctitle = "Liberating Insight ERMS";break;
                        case "openmusic":doctitle = "OpenMusic";break;
                        default:doctitle = word_capitalize(doctitle);
                        }
		}
               
		h += doctitle;
                if (doctitle == "Index") { h = h.replace("> Index",""); }
		if (doctitle == "") { h = h.substr(0,h.lastIndexOf(">")); }
		if(root) {
		h=h.replace(eval("/"+location.host+"/"),root)
		}
		h = "You are here: " + h;
	return h;
}

function word_capitalize(s){
  var caps='';
  s=s.split(" ");
  var ll=[s.length-1]
  for(i=0;i<ll;i++){
          caps+=s[i].substring(0,1).toUpperCase() + s[i].substring(1,s[i].length) + ' ';
        }
  caps+=s[ll].substring(0,1).toUpperCase() + s[ll].substring(1,s[ll].length);
  return caps;
}
  