function handleError (err, url, line) {
    if (err.indexOf('bject') != -1) {
      //alert('Oops, something is not defined.\n' + err + '\n' + url + '\nline no: ' + line);
      return true; // error is handled
    }
    else
      return false; // let the browser handle the error
  }
  window.onerror = handleError;
<!--
//Object detection
var isIE45= document.all;
var isNav6= 0;
var isNav4= document.layers;

// Format Menu

//cell background
	hovercolor   = "#dddddd";	// color name/code for cells on hover
	bgcolor      = "#cccccc";	// color name/code for the cells background
	background   = "";			// picture url in place of bgcolor
//font color
	fncolor      = "#2f3f90"; 	// font color
	hfncolor     = "#2f3f90";   // font color on hover    
//main table border	
	mborder  = 0;				// size of border around drop menus
	mborder_color = "#ffffff";  //color of border around drop menus 
//cell tables
	cell_border = 1;        	//size of border around cells
	border_color = "#999999";  	//color of border around cells
//misc	
	numMainItems = 5; 			//number of items in main menu
    

	
// End Format Menu

var cellWidth=200;
var cellHeight=5;
var cellPadding=3;
var textBefore = "";
var hasFlyOut = "";

if (document.getElementById && !isIE45){ 
	isNav6=true; 
}



//Menu 
No3 = (parseInt(navigator.appVersion) > 3) ? 1:0;
layer = (isIE45 && No3) ? "document.all['L'+menu].style" : (isNav4 && No3) ? "document.layers['L'+menu]" :(isNav6 && No3) ? "document.getElementById('L'+menu).style" : 0;
var timer;



// -->
if(isIE45 || isNav6){ 
	if(!background) { 
		background=bgcolor; 
	} else { 
		background = "url("+background+")"; 
	} 
}

//Get the img X and Y positions with an onMouseOver event
var d = document;
function getCoor(imgId) {
	var x = (d.layers)?d[imgId].x:d[imgId].offsetLeft;
	var y = (d.layers)?d[imgId].y:d[imgId].offsetTop;
	alert("x = " + x + "\ny = " + y);
}
function getDim(el){
	for (var lx=0,ly=0;el!=null;
		lx+=el.offsetLeft,ly+=el.offsetTop,el=el.offsetParent);
	return {x:lx,y:ly}
}


var x1 = getDim(document.getElementById("MySpan1")).x+-140;

var x2 = getDim(document.getElementById("MySpan2")).x+-140;

var x3 = getDim(document.getElementById("MySpan3")).x+-140;

var x4 = getDim(document.getElementById("MySpan4")).x+-140;

var x5 = getDim(document.getElementById("MySpan5")).x+-140;

var x6 = getDim(document.getElementById("MySpan6")).x+-140;

var y1 = getDim(document.getElementById("MySpan1")).y+1;

var y2 = getDim(document.getElementById("MySpan2")).y+1;

var y3 = getDim(document.getElementById("MySpan3")).y+1;

var y4 = getDim(document.getElementById("MySpan4")).y+1;

var y5 = getDim(document.getElementById("MySpan5")).y+1;

var y6 = getDim(document.getElementById("MySpan6")).y+1;

var xcoord = new Array(x1,x2,x3,x4,x5,x6);
var ycoord = new Array(y1,y2,y3,y4,y5,y6);

var leftStart=140;
var id = 1;

function LayerSpecs(Left,Top,Width) { 
	if(No3) {
		this.left  = Left;
		this.top   = Top;
		this.info  = "";
		var t = Top;
		
		this.info +=  "<TABLE width='"+cellWidth+"' style='z-index:1;border: solid "+mborder+"px "+mborder_color+";' cellpadding=0 cellspacing=0><TR><TD>";
		this.info +=  "<TABLE width='"+cellWidth+"' style='z-index:1;border-bottom: solid "+cell_border+"px "+border_color+";' cellpadding='"+cellPadding+"' cellspacing=0>" 
       
		for(i=3; i<arguments.length; i++) {
			this.info += "<TR><TD width='"+cellWidth+"' style='z-index:1;border: solid "+cell_border+"px "+border_color+";border-bottom:none;' BGCOLOR='"+bgcolor+"' xBACKGROUND=\""+background+"\" ONMOUSEOVER='this.bgColor=\""+hovercolor+"\";' ONMOUSEOUT='this.bgColor=\""+bgcolor+"\";'><A class='mnav' ONMOUSEOUT='this.style.color=\""+fncolor+"\";' HREF="+arguments[i++]+"this.style.color=\""+hfncolor+"\";'>"+arguments[i]+"</A></TD></TR>";
			t = t + 20;
		}
	
		this.info += "</TABLE>" 
		this.info += "</td></tr></TABLE>"  
		id += 1;
	} 
}


Layer = new Array();

//////////////////////////////////////////////
/*	Create Your layers below by typing:
	 Layer[incrementing number] = new LayerSpecs(Left Position, Top Position, Width, 
	 				      '"Link URL" onMouseOver="Show(#,#,#)">',
	 				      'Link Name');
   	The order of parameters for the show function as follows: 													 
	Show(	Layer Number to Open, 
		Current Layer, 
		Any Layers Opened before the current layer) 			
													 
	Keep in mind punctuation is very important!!	 													
*/

Layer[1] = new LayerSpecs(leftStart+xcoord[0],ycoord[0],200,'"'+rootPath+'/pages/about.html" onMouseOver=\'Show(1);',textBefore+'About','"'+rootPath+'/pages/affiliated_institutions.html" onMouseOver=\'Show(1);',textBefore+'Affiliated Institutions','"'+rootPath+'/pages/short_bio.html" onMouseOver=\'Show(1);',textBefore+'Short Bio','"'+rootPath+'/pdfs/christakis_cv.pdf" target="_blank" onMouseOver=\'Show(1);',textBefore+'CV','"'+rootPath+'/pages/press_photos.html" onMouseOver=\'Show(1);',textBefore+'Press Photos','"'+rootPath+'/pages/media_coverage.html" onMouseOver=\'Show(1);',textBefore+'Media Coverage','"'+rootPath+'/pages/video.html" onMouseOver=\'Show(1);',textBefore+'Video');

Layer[2] = new LayerSpecs(leftStart+xcoord[1],ycoord[1],200,'"'+rootPath+'/pages/research.html" onMouseOver=\'Show(2);',textBefore+'Research','"'+rootPath+'/pages/research_group08.html" onMouseOver=\'Show(2);',textBefore+'Research Group','"'+rootPath+'/pages/meeting_schedule.html" onMouseOver=\'Show(2);',textBefore+'Group Meeting Schedule','"'+rootPath+'/pages/working_papers.html" onMouseOver=\'Show(2);',textBefore+'Working Papers','"'+rootPath+'/pages/participate_study.html" onMouseOver=\'Show(2);',textBefore+'Participate in a Study','"'+rootPath+'/pages/datasets.html" onMouseOver=\'Show(2);',textBefore+'Data Sets','"'+rootPath+'/pages/research_videos.html" onMouseOver=\'Show(2);',textBefore+'Research Videos','"'+rootPath+'/pages/students_colleagues.html" onMouseOver=\'Show(2);',textBefore+'Students and Colleagues');

Layer[3] = new LayerSpecs(leftStart+xcoord[2],ycoord[2],200,'"'+rootPath+'/pages/publications.html" onMouseOver=\'Show(3);',textBefore+'Publications','"'+rootPath+'/pages/pubtopic.html" onMouseOver=\'Show(3);',textBefore+'Publications by Topic','"'+rootPath+'/pages/pubtype.html" onMouseOver=\'Show(3);',textBefore+'Publications by Type','"'+rootPath+'/pages/invited_talks.html" onMouseOver=\'Show(3);',textBefore+'Selected Invited Talks','"'+rootPath+'/pages/bmj.html" onMouseOver=\'Show(3);',textBefore+'<em>British Medical Journal</em> Columns');

Layer[4] = new LayerSpecs(leftStart+xcoord[3],ycoord[3],200,'"'+rootPath+'/pages/teaching.html" onMouseOver=\'Show(4);',textBefore+'Teaching','"'+rootPath+'/pages/podcasts.html" onMouseOver=\'Show(4);',textBefore+'Podcasts');

Layer[5] = new LayerSpecs(leftStart+xcoord[4],ycoord[4],200,'"#" target="new" onMouseOver=\'Show(5);',textBefore+'Link 1','"#" target="new" onMouseOver=\'Show(5);',textBefore+'Link 2');

Layer[6] = new LayerSpecs(leftStart+xcoord[5],ycoord[5],200,'"#" onMouseOver=\'Show(6);',textBefore+'Link 1','"#" onMouseOver=\'Show(6);',textBefore+'Link 2','"#" onMouseOver=\'Show(6);',textBefore+'Link 3');

////////////////////////////////////////////////////////////////

j = (Layer[0]) ? 0:1;

for(i=j; i<Layer.length; i++) {
	if(isIE45 && No3 || isNav6) { document.write("<SPAN ONMOUSEOVER='clearTimeout(timer)' ONMOUSEOUT='Hide("+i+")' ID='L"+i+"' STYLE='POSITION:ABSOLUTE; VISIBILITY:HIDDEN; BACKGROUND:"+background+"; TOP:"+Layer[i].top+"; LEFT:"+Layer[i].left+";'>"+Layer[i].info+"</SPAN>"); }

	else if(isNav4 && No3) { document.write("<LAYER ONMOUSEOVER='clearTimeout(timer)' ONMOUSEOUT='Hide("+i+")' ID='L"+i+"' POSITION=ABSOLUTE VISIBILITY=HIDDEN BGCOLOR='"+bgcolor+"' BACKGROUND='"+background+"' TOP="+Layer[i].top+" LEFT="+Layer[i].left+">"+Layer[i].info+"</LAYER>"); }
}
/* function regenerate(){
window.location.reload()
}
function regenerate2(){
setTimeout("window.onresize=regenerate",450)
}
window.onload=regenerate2    
*/
// -->



function Show() { 
	if(layer){
		if(timer) clearTimeout(timer);
		
		for(menu=0; menu<Layer.length; menu++) {
			if(Layer[menu]) { 
				eval(layer).visibility = "hidden"; 
			} 
		}
		
		for(i=0; i<arguments.length; i++) { 
			menu=arguments[i]; eval(layer).visibility = "visible"; 
		}
	}
}

function Hide(){ 
	timer = setTimeout("Show()", 200); 
}

function Highlite(a) {
	//var hl=document.getElementById(a);
	//hl.style.backgroundColor=hovercolor;
}

function Dim(a) {
	//var dim=document.getElementById(a);
	//dim.style.backgroundColor=bgcolor;
}
