function parseHref(fullHref) {
  var domLoc;
  if (fullHref.charAt(0) == "/") fullHref = 'http://' + document.domain + fullHref;
  if (fullHref.indexOf('local_fidm.com')!=-1) {
	domLoc = fullHref.substr(0,fullHref.indexOf('local_fidm.com')+15);
  } else {
	domStart = fullHref.lastIndexOf('//')+2;
	domEnd = fullHref.substr(domStart).indexOf('/')+1;
	domLoc = fullHref.substr(0,domStart+domEnd);
    //domLoc = document.domain;
  }
  if (fullHref.charAt(fullHref.length-1)=='/') fullHref+='index.shtml';
  var folderString = ((x=fullHref.indexOf('.shtml')) != -1) ? fullHref.substring(domLoc.length,x) : fullHref.substring(domLoc.length);
  crumbs = folderString.split('/');
  if ((lastFolder = folderString.lastIndexOf('index'))!=-1) folderString = folderString.substr(0,lastFolder);
  var trailingSlash = trimSlash(folderString);
  columns = trailingSlash.split('/');
  hrefObj = new Array(fullHref,domLoc,crumbs,columns,folderString);
  return hrefObj;
}
function trimSlash(str) {
	return (str.charAt(str.length-1)=='/') ? str.substr(0,str.length-1) : str;
}
var docLoc = parseHref(unescape(top.document.location.href));
var rootLoc = docLoc[1];

if (wmojq("div.main > div.line").length < 1) wmojq("div.main").wrapInner('<div id="content"></div>');
/*wmojq("#logo img").toggle(function(e) {
	if (e.shiftKey && e.altKey) wmojq("div#content").attr('id','contentoff');
						  }, function(e) {
	if (e.shiftKey && e.altKey) wmojq("div#contentoff").attr('id','content');
						  })
*/
wmojq("#interiornav li ul").addClass("hover")
sideCols = trimSlash(docLoc[4]).split("/").length;
widthPct = new Array(sideCols,0.805,0.775,0.66666);
leafAdj = (!leaf || sideCols < 2) ? 0 : -1;
idxPct = (widthPct[sideCols] == null) ? widthPct[3+leafAdj] : widthPct[sideCols+leafAdj];
sideClass = (sideCols + leafAdj < 3) ? "side"+(sideCols + leafAdj) : "";

contentWidth = 0;
mainDiff = wmojq("div.main").outerWidth() - wmojq("div.main").width();
function getContentWidth() {
  wmojq("div.main img, div.main table").each(function() {
	newWidth = (wmojq(this).attr("width")) ? parseFloat(wmojq(this).attr("width")) : 200;
    if (newWidth>contentWidth) contentWidth = newWidth;
  })
  contentWidth = (contentWidth==0) ? 250 : (contentWidth < (mainWidth = parseInt(wmojq("div.main").css("width").replace(/[a-z|A-Z]+/,''),10)+mainDiff) && wmojq("div.main div.line").length > 1) ? mainWidth : contentWidth;
}
getContentWidth();

function nohorz() {
	chromeWidth = wmojq(window).width();
	if (wmojq("body").hasClass("side0") && parseInt(chromeWidth*idxPct,10) > 480) {
	//console.log(parseInt(contentWidth*1.05,10)+":main to chrome:"+parseInt(chromeWidth*idxPct,10));
		if(parseInt(contentWidth*1.05,10) < parseInt(chromeWidth*idxPct,10)) {
			wmojq("body").removeClass("side0").addClass(sideClass);
		}
	} else {
	//console.log(parseInt(contentWidth*1.05,10)+":main to chrome:"+parseInt(chromeWidth*idxPct,10));
		if(parseInt(contentWidth*1.05,10) > parseInt(chromeWidth*idxPct,10) || wmojq("div.main").offset().left < 30) {
			wmojq("body").removeClass(sideClass).addClass("side0");
		}
	}
}

//first 4 folders as a string
//whittle down folder by folder starting from #interiornav li li a and ending at #parentnav a
//if href contains the folder string, it is in the current directory lineage
compareNav = docLoc[2];
compareNav[compareNav.length] = "";
compareNav[compareNav.length] = "";
compareNav[compareNav.length] = "";
compareNav[compareNav.length] = "";
compareNav[compareNav.length] = "";
compareNav[compareNav.length] = "";
compareNav = compareNav.slice(0,6).join('/');
wmojq("#morenav li a[href*='"+compareNav+"'], #interiornav li li a[href*='"+(compareNav0 = compareNav.substr(0,compareNav.lastIndexOf('/')))+"'], #interiornav > div > ul > li > a[href*='"+(compareNav1 = compareNav0.substr(0,compareNav0.lastIndexOf('/')))+"'], #lateralnav a[href*='"+(compareNav2 = compareNav1.substr(0,compareNav1.lastIndexOf('/')))+"'], #parentnav a[href*='"+(compareNav3 = compareNav2.substr(0,compareNav2.lastIndexOf('/')))+"/'], #topmenu a[href*='"+docLoc[2][0]+"']").parent().addClass("current");
//console.log(compareNav+'\r\n'+compareNav1+'\r\n'+compareNav2+'\r\n'+compareNav3);
//for relative paths in the content
function upDir(lihref) {
	comp2 = docLoc[0].substr(0,docLoc[0].lastIndexOf('/')+1);
	while (lihref.indexOf('../') == 0) {
		lihref=lihref.substr(3);
		comp2 = comp2.substr(0,comp2.lastIndexOf('/'));
	}
	return comp2 + lihref;
}

// for automated slideshow nav
wmojq("#morenav a").each(function() {
	checkHref = upDir(wmojq(this).attr("href"));
  wmojq("a[href*='"+checkHref+"']","#morenav > li").parent().attr('id','LIcurrent');
  wmojq("a[href*='"+checkHref+"']","#morenav li li").parent().addClass("current");
})

// build mod structures for oocss
wmojq("div.mod div.inner").before('<b class="top"><b class="tl"></b><b class="tr"></b></b>').after('<b class="bottom"><b class="bl"></b><b class="br"></b></b>');

// get gregorian string for date number
var gregorian = new Array("calendar","January","February","March","April","May","June","July","August","September","October","November","December");
function toCalendar(date) {
  return gregorian[parseInt(date.substring(4,6),10)] + ' ' + date.substring(0,4);
}

// get date digits for gregorian string
function nairogerg(dateStr) {
  dateArray = dateStr.split(' ');
  for (i=1;i<gregorian.length; i++) {
    if (gregorian[i].indexOf(dateArray[0]) == 0) {
	  zeroDigit = (i*.01) + '';
	  if (zeroDigit.length < 4) zeroDigit += '0';
      return dateArray[1] + zeroDigit.substring(2);
	}
  }
  return '200003'
}
function swapClass(newClass,activeObj) {
  wmojq("#"+activeObj).get(0).className="";
  wmojq("#"+activeObj).addClass(newClass);
}
wmojq.fn.hoverClass = function(c) {
    return this.each(function(){
        wmojq(this).hover( 
            function() { wmojq(this).addClass(c);  },
            function() { wmojq(this).removeClass(c); }
        );
    });
};    

wmojq("*:hover > .hover").css("display","none");
wmojq("div.nav:not('.click')").find("li:has('.hover')").hover(
	function() {wmojq(this).siblings().find(".hover").hide().end().end().find(".hover").show()},
	function() {wmojq(this).find(".hover").hide()}
)
wmojq("div.click > ul > li:has('.hover')").click(
	function() {wmojq(this).find(".hover").show();}).bind("mouseleave", 
	function() {wmojq(this).find(".hover").hide()}
)
function textSwap(jqobj,msg,limit) {
  if (limit!=null && msg.length > limit) msg = msg.substring(0,limit) + '…';
  wmojq(jqobj).html(msg);
}
function slideNav() {
  if (wmojq("#morenav ul li").length>0) {
	slideCarousel = wmojq("#morenav ul li").not(":has(h5)");
    slideList = slideCarousel.find("a");
    pageNode = (slideCarousel.filter(".current").size()>0) ? slideCarousel.filter(".current") : wmojq("li#morenav a span");
	menuTitle = wmojq("li#morenav a span");
	menuTxt = menuTitle.text();
	menuTxtLngth = menuTxt.length;
	titleSlot = pageNode.text();
    textSwap("li#morenav a span",titleSlot,menuTxtLngth);
	wmojq("li#morenav a").bind('mouseover', function() {
      menuTitle.html(menuTxt);
	})
	wmojq("li#morenav a").bind("mouseout", function() {
      textSwap("li#morenav a span",titleSlot,menuTxtLngth);
	})
    if (wmojq("ul#slideshow li#previous, ul#slideshow li#next").size()>0) {
	  previousSlide = slideCarousel.get(slideList.size()-1);
	  nextSlide = slideCarousel.get(0);
	  if (pageNode.hasClass("current")) {
		slideCarousel.each(function(i) {
		  if (this.className == "current") { 
            nextSlide = (i<slideCarousel.size()-1) ? slideCarousel.get(i+1) : slideCarousel.get(0);
            previousSlide = (i>0) ? slideCarousel.get(i-1) : slideCarousel.get(slideCarousel.size()-1);
		  }
		})
	  }
	  newPrevious = wmojq('<li id="previous"><a href="'+previousSlide.firstChild.getAttribute('href')+'"><img src="'+rootLoc+'global/images/.gif" width="30" height="21" border="0" /></a></li>');
	  newNext = wmojq('<li id="next"><a href="'+nextSlide.firstChild.getAttribute('href')+'"><img src="'+rootLoc+'global/images/1.gif" width="30" height="21" border="0" /></a></li>');
      wmojq("ul#slideshow li#previous, ul#slideshow li#next").remove();
      wmojq("ul#slideshow").prepend(newNext.get(0)).prepend(newPrevious.get(0));
	wmojq("li#previous a").bind('mouseover', function() {
      textSwap("li#morenav a span",previousSlide.firstChild.firstChild.data,menuTxtLngth);
	})
	wmojq("li#next a").bind('mouseover', function() {
      textSwap("li#morenav a span",nextSlide.firstChild.firstChild.data,menuTxtLngth);
	})
	wmojq("li#previous a, li#next a").bind("mouseout", function() {
      textSwap("li#morenav a span",titleSlot,menuTxtLngth);
	})
    }
  }
}
function disableIt() {
	for (i=0;i<(a=disableIt.arguments).length;i+=2) {
		wmojq("#" + a[i]).get(0).disabled = a[i+1];
	}
}
function fixSearch() {
  if ((searchTab = document.getElementById('search'))!=null) {
	if (searchTab.firstChild.getAttribute('href')!=null) searchTab.firstChild.setAttribute('href','http://search.fidm.com/')
  }
  if ((searchForm = wmojq("#gs")).size()>0) {
//  searchForm.get(0).setAttribute('action','http://search.fidm.com/search');
  searchForm.get(0).setAttribute('action','http://google.com/search');
  var inputArray = new Array()
  inputArray[inputArray.length] = new Array('as_sitesearch','fidm.com')
  inputArray[inputArray.length] = new Array('hl','en')
  inputArray[inputArray.length] = new Array('lr','')
  for (i=0;i<searchForm.get(0).childNodes.length;i++) {
    if (searchForm.get(0).childNodes[i].tagName == 'INPUT' && searchForm.get(0).childNodes[i].getAttribute('name') == 'as_sitesearch') {
      searchForm.get(0).removeChild(searchForm.childNodes[i]);
    }
  }
  wmojq("form#gs input").not(".searchfield").not(".searchsubmit").remove('input');
  for (j=0;j<inputArray.length; j++) {
    searchForm.append('<input type="hidden" name="'+inputArray[j][0]+'" value="'+inputArray[j][1]+'" />');
  }
}}
var aoproi="<script language=\"javascript\" src=\"http://track.roiservice.com/track/track.aspx?ROIID=935467107000023\"></s"+"cript><script language=\"javascript\">if (typeof(ROIID) + '' != 'undefined') TrackEvent('LandingPage', 0);</s"+"cript>";


  function getCookie(name) { // use: getCookie("name");
    bites = (document.cookie) ? document.cookie.split("; ") : null; // break cookie into array of bites
    if (bites != null) {
      for (var i=0; i < bites.length; i++) {
        nextbite = bites[i].split("="); // break into name and value
        if (nextbite[0] == name) {// if name matches
          return unescape(nextbite[1]); // return value
        }
      }
    } else {
      return null;
    }
    return null;
  }

  function setCookie(name, value, expDate) {
    var today = new Date();
    var yearFromNow = new Date(today.getTime() + 31536000000); // plus 365 days
    var expiry = (expDate) ? expDate.toGMTString() : null;
    if (value != null && value != "") {
      newCookie = name + "=" + escape(value) + "; path=/";
      newCookie += (expiry) ? ";expires=" + expiry : "";
      document.cookie = newCookie;
      bites = document.cookie.split("; "); // update cookie bites
    }
  }
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("!")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

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 MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.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; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}
function MM_nbGroup(event, grpName) { //v6.0
  var i,img,nbArr,args=MM_nbGroup.arguments;
  if (event == "init" && args.length > 2) {
    if ((img = MM_findObj(args[2])) != null && !img.MM_init) {
      img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;
      if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
      nbArr[nbArr.length] = img;
      for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
        if (!img.MM_up) img.MM_up = img.src;
        img.src = img.MM_dn = args[i+1];
        nbArr[nbArr.length] = img;
    } }
  } else if (event == "over") {
    document.MM_nbOver = nbArr = new Array();
    for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = (img.MM_dn && args[i+2]) ? args[i+2] : ((args[i+1])? args[i+1] : img.MM_up);
      nbArr[nbArr.length] = img;
    }
  } else if (event == "out" ) {
    for (i=0; i < document.MM_nbOver.length; i++) {
      img = document.MM_nbOver[i]; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }
  } else if (event == "down") {
    nbArr = document[grpName];
    if (nbArr)
      for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.MM_up; img.MM_dn = 0; }
    document[grpName] = nbArr = new Array();
    for (i=2; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = img.MM_dn = (args[i+1])? args[i+1] : img.MM_up;
      nbArr[nbArr.length] = img;
    }
  }
}

function setActiveStyleSheet(title,mark) {
  var i, a, main;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
      a.disabled = true;
      if(a.getAttribute("title") == title) a.disabled = false;
    }
  }
  if (mark) setCookie("style", title);
}

function getActiveStyleSheet() {
  var i, a;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title") && !a.disabled) return a.getAttribute("title");
  }
  return null;
}

function toggleActiveStyleSheet() {
  var currStyle = getActiveStyleSheet(), a=toggleActiveStyleSheet.arguments;
  switch (currStyle) {
	case a[0]:
	  setActiveStyleSheet(a[1],a[a.length-1]);
	  break;
	case a[1]:
	  setActiveStyleSheet(a[0],a[a.length-1]);
	  break;
	default:
	  setActiveStyleSheet(a[1],a[a.length-1]);
	  break;
  }
}

function getPreferredStyleSheet() {
  var i, a;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1
       && a.getAttribute("rel").indexOf("alt") == -1
       && a.getAttribute("title")
       ) return a.getAttribute("title");
  }
  return null;
}

function styleFinder() {
  var cookie = getCookie("style");
  var title = (cookie) ? cookie : getPreferredStyleSheet();
  setActiveStyleSheet(title,false);
}

var cookie = getCookie("style");
var title = cookie ? cookie : getPreferredStyleSheet();
setActiveStyleSheet(title);

var columnAdjust = (docLoc[0].indexOf('.shtml')!=-1 && docLoc[0].indexOf('index')==-1 || leaf) ? 1 : 0;
var sideColumns = 3;
var pickLI = wmojq('<li class="current"><a href="#">Features in this section</a></li>');
var pickLIid = wmojq('<li id="current"><a href="#">Features in this section</a></li>');
function sideCol() {
  sideColumns = (docLoc[3].length-columnAdjust <= 1) ? 1 : (docLoc[3].length-columnAdjust == 2) ? 2 : 3;//alert(getBrowserWidth()*scrollX + ',' + (contentWidth + contentADD))
  if (sideColumns != 3 && docLoc[2].length>1) {
    wmojq("body").removeClass("side2").removeClass("side1").removeClass("side0").addClass("side" + sideColumns);
	if (sideColumns == 0) {
	  latUL = wmojq("ul#lateralnav");
	  intUL = wmojq("ul#interiornav");
	  if (docLoc[3].length==2 && latUL != null && wmojq("li.current",latUL).size()==0) {
		latUL.prepend(pickLI.get(0));
	  } else if (docLoc[3].length==3 && intUL != null && wmojq(".current").size()==0) {
		intUL.prepend(pickLIid.get(0));
	  }
	} else clearPick();
  } else {
    wmojq("body").removeClass("side2").removeClass("side1").removeClass("side0")
	clearPick();
  }
  wmojq("div#sidenav div").hover(function() {wmojq(this).removeClass("out").siblings("div").not(this).addClass("out")}, function() {wmojq(this).siblings().removeClass("out")}).hover( 
            function() { wmojq(this).addClass('over');  },
            function() { wmojq(this).removeClass('over'); }
        );
}
function clearPick() {
  wmojq("div#sidenav ul > li:first-child").each( function() {
	if (wmojq(this).text()==pickLIid.text() || wmojq(this).text()==pickLI.text()) wmojq(this).remove();
  })
}
var popAlert = '<div id="alert" style="visible: hidden; position: absolute; width:350px; margin-left: 20%; top: 65px; padding-bottom: 18px; background: #FFF url('+rootLoc+'global/images/important.jpg); z-index: 100; border: 1px #606 solid;"><h3 style="margin-top: 58px; color: #990033;">IMPORTANT NOTICE:</h3><p style="line-height: 1.2;">FIDM is continually working to improve our technology to better serve you. As part of this ongoing effort, we will be doing maintenance on this site starting Friday, December 12 at 4:00 PM (Pacific.) The site will be unavailable until Monday, December 15.<br /><br />We apologize for this inconvenience.</p></div>';

function startList() {
  var m,a=startList.arguments; document.startList=new Array;
  for(m=0;m<(a.length);m++) {
    wmojq("#"+a[m]+" li ul, #"+a[m]+" li dl").parent("li").hover(
        function(){ wmojq("ul, dd", this).fadeIn("fast");
    }, 
        function() { wmojq("ul, dd", this).fadeOut("fast"); } 
    );
    if ((cut=a[m].indexOf('?')) != -1 && a[m].substring(cut+1).length>0) {
	  wmojq("#"+a[m].substring(cut+1)+" li ul").parent("li").bind(a[m].substring(0,cut), function() {
		wmojq(this).siblings("li").not(this).removeClass("over");
		if (this.className.indexOf('over')!=-1) {
		  wmojq(this).removeClass("over")
		} else {
		  wmojq(this).addClass("over")
		}
	  })
    } else if (document.all && document.getElementById && wmojq("#"+a[m]).size()>0) {
      wmojq("#"+a[m]+" li ul, #"+a[m]+" li dl").parent("li").hover( 
            function() { wmojq(this).addClass('over');  },
            function() { wmojq(this).removeClass('over'); }
        );
    }
  }
}

if (wmojq.browser.msie && wmojq.browser.version < 7) {
	wmojq("#menu > div > ul > li:gt(0)").each(function(i) {wmojq(this).addClass("eq"+(i+2))});
	wmojq("li:first-child").addClass("first-child");
}
wmojq().ready(function() {
	//console.log(docLoc);
	wmojq("body").addClass(sideClass);
	if (wmojq("body").hasClass("side0") == -1) nohorz();
});
slideNav();
//if (!document.all && wmojq("body").hasClass("side0") == -1) wmojq(window).bind('resize', function() {nohorz();});
