var newwindow='';
function myVoid(){ ; } // do nothing
function trim(sStr){while(sStr.substring(0,1)== ' '){sStr=sStr.substring(1,sStr.length);}while(sStr.substring(sStr.length-1, sStr.length)==' '){sStr=sStr.substring(0,sStr.length-1);}return sStr;}
function rollover(doc_name,img_name,img_src){if(isString(img_name)){doc_name.getElementById(img_name).src=img_src;}else if(isObject(img_name)){img_name.src=img_src;}else{return -1;}}
function pngrollover(doc_name,img_name,img_src){if(document.all){doc_name.getElementById(img_name+'div').style.filter='progid:DXImageTransform.Microsoft.AlphaImageLoader (src=\''+img_src+'\', sizing Method=\'scale\')';}else{doc_name.getElementById(img_name + 'img').src=img_src;}}
function bannerRotate(banners,anchor_target_id,image_target_id,myIndex,image_target_attribute){var d=document;var n;if(!myIndex){n=Math.floor(Math.random()*banners.length);}else{n=myIndex}switch(image_target_attribute){case'backgroundImage':d.getElementById(image_target_id).style.backgroundImage = "url(" + banners[n][0] + ")";break;default:if(d.getElementById(image_target_id)){d.getElementById(image_target_id).src=banners[n][0];}if(anchor_target_id!=null){if(d.getElementById(anchor_target_id)){d.getElementById(anchor_target_id).href=banners[n][1];}}}return n;}
function bannerTextRotate (banners, div_target_id) {var n;n=Math.floor(Math.random() * banners.length);document.getElementById(div_target_id).innerHTML=banners[n];return 0;}
/*Code for fixing Internet Explorer!!!*/
/*Fortunately, can use some DOM1 methods with IE5 but still have to resort to IE5 DHTML to retrieve objects.
/*IE4, like NS4, does not support the DOM model at all and therefore the help elements probably won't disappear, anyway... i think*/
function fixIERender(doc_name) {var imgs=document.body.all.tags("img");for(i=0;i<imgs.length;i++){if(imgs[i].getAttributeNode('class').value=='infoBubbleDiv'){imgs[i].style.visibility='inherit';}}}
/*more code for fixing ie redraw bugs*/
function forceIERedraw(){if (document.all){var cn=document.body.className;document.body.className="nodisplay";document.body.className=cn;return 0;}}
window.onload=function(){if(document.getElementById('quoteDiv')){}if(document.all&&document.getElementById){window.event.cancelBubble=true;myMenus=document.getElementsByClass("menu");myId=document.getElementById("menu");if(myId)myMenus[myMenus.length]=myId;for(i=0;i<myMenus.length;i++){sfHover(myMenus[i]);}}forceIERedraw();}
document.getElementsByClass=function(needle){var my_array=document.getElementsByTagName("*");var retvalue=new Array();var i=0;var j=0;for(i=0,j=0;i<my_array.length;i++){var c=" "+my_array[i].className+" ";if(c.indexOf(" "+needle+" ")!=-1)retvalue[j++]=my_array[i];}return retvalue;}
/*menu gubbins*/
/*son of suckerfish: http://www.htmldog.com/articles/suckerfish/dropdowns/*/
sfHover= function(menuElement) {var sfEls=menuElement.getElementsByTagName("LI");
   for ( var i=0; i<sfEls.length; i++) { 
      sfEls[i].onmouseover=function() {this.className+=" sfhover";}
      sfEls[i].onmouseout=function() {this.className=this.className.replace(new RegExp(" sfhover\\b"),"");}
   }
}
/*font size  From:http://www.dynamicdrive.com/dynamicindex9/textsizer.js */
//Specify tags. Add or remove from list: //var tgs = new Array( 'div','td','tr');
var tgs = new Array( 'body');
//Specify spectrum of different font sizes:
//var szs = new Array( 'xx-small','x-small','small','medium','large','x-large','xx-large' );
var szs = new Array( 'x-small','small','medium','large','x-large');
//var startSz = 1;
function setFontSize(trgt,inc,mode) {
   if (!document.getElementById) return
   var d = document,cEl = null,sz = startSz,i,j,cTags;
   //alert('Start Size is '+startSz);
   cookieSize = '';
   if ( mode == 'ABS' ) {
      cookieSize = inc;
   }
   else {
      sz += inc;
      if ( sz < 0 ) sz = 0;
      if ( sz > 3 ) sz = 3;
      startSz = sz;
      cookieSize = szs[ sz ];
   } 
   // Store in cookie
   var now = new Date();
   var expires = new Date(now.getTime() + ( 1000 * 60 * 60 * 24) );

   if (!cookieSize) {
        expires = new Date(now.getTime() - 1000 * 60 * 60 * 24);
   }
   setCookie('fontSize', cookieSize, expires, '/');
   if ( !( cEl = d.getElementById( trgt ) ) ) cEl = d.getElementsByTagName( trgt )[ 0 ];
   if (mode == 'relative' || mode == 'ABS') {
      cEl.style.fontSize = cookieSize;
      for ( i = 0 ; i < tgs.length ; i++ ) {
	   cTags = cEl.getElementsByTagName( tgs[ i ] );
   	   for ( j = 0 ; j < cTags.length ; j++ ) cTags[ j ].style.fontSize = cookieSize;
	}
    } else {
	cEl.style.fontSize = parseInt(cEl.style.fontSize) + inc + "em";
	for ( i = 0 ; i < tgs.length ; i++ ) {
	   cTags = cEl.getElementsByTagName( tgs[ i ] );
	   for ( j = 0 ; j < cTags.length ; j++ ) cTags[ j ].style.fontSize = inc + "em";
	}
   }
}
/*popup window           */
/* this is the old style inline javascript window. Has been superceded by superPopUp which is called automagically using the article_popup uri*/
function newPopUp (url, name, options) {
	//assume for the time being it is 3 characters 
	var myWidth = options.substr(options.indexOf("width=") + 6, 3);
	var myHeight = options.substr(options.indexOf("height=") + 7, 3);
	if (!newwindow.closed && newwindow.location){
		newwindow.location.href = url;
		newwindow.resizeTo(myWidth, myHeight);
		newwindow.focus();
	}
	else{
		newwindow=window.open(url,name,options);
		if (!newwindow.opener) newwindow.opener = self;
	}
	if (window.focus) {newwindow.focus()}
}
/*popup window           */
function superPopUp(myWindow,myWidth,myHeight,options){myWindow.resizeTo(myWidth, myHeight);return;}
/*kev's pagination script          */
function pagination(anchor,current_page,maxpage,thisURI){var work_str='';if(current_page==0&&maxpage==1){return '';}for(i=0;i<maxpage;i++){if(i==current_page){work_str=work_str+' '+(i+1);}else{if(!thisURI){thisURI='';}work_str=work_str+' <a href="'+thisURI+'?pa='+i+'#'+anchor+'">'+(i+1)+'</a>';}}return work_str;}
/*kev's 'new' and 'updated' flags  */
function newFlag(dateStr,createdStr,startStr){
   var today=new Date();
   var one_day=1000*60*60*24;
   var dFmt='yyyy-MM-dd HH:mm';
   var pubDt=new Date(getDateFromFormat(dateStr,dFmt));  
   var crtDt=new Date(getDateFromFormat(createdStr,dFmt)); 
   var PubDysOld = Math.ceil((today.getTime()-pubDt.getTime())/(one_day)); 
   var CrtDysOld = Math.ceil((today.getTime()-crtDt.getTime())/(one_day)); 
   if(startStr){
      var strtDt = new Date(getDateFromFormat(startStr,'yyyy-MM-dd HH:mm')); 
      var SttDysOld=Math.ceil((today.getTime()-strtDt.getTime())/(one_day)); 
      if(SttDysOld<30){return '<span class="newarticle">New!</span>';}
      if(crtDt>=strtDt){
      if(PubDysOld<30&&(PubDysOld<SttDysOld)){return '<span class="newarticle">Updated!</span>';}}}if(PubDysOld<30){
      if(CrtdDysOld<30||(CrtDysOld<=PubDysOld)){return '<span class="newarticle">New!</span>';}
      else{return '<span class="newarticle">Updated!</span>';}}
      return ''; 
} 
/* date & time */
function getCalendarDate(){var months=new Array("January","February","March","April","May","June","July","August","September","October","November","December");
  var days=new Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday");
  var now=new Date();
  var monthnumber=now.getMonth();
  var monthname=months[monthnumber];
  var monthday=now.getDate();
  var weekday=days[now.getDay()];
  var year=now.getYear();
  if(year<2000){year=year+1900;}
  var sp='&#xA0;'; 
  var dateString=weekday+sp+monthname+sp+monthday+sp+year;
  return dateString;
}
	
function getClockTime(){var now=new Date();
  var hour=now.getHours();
  var minute=now.getMinutes();
  var ap="AM";
  if(hour>11){ap="PM";}
  if(hour>12){hour=hour-12;}
  if(hour==0){hour=12;}
  if(minute<10){minute="0"+minute;}
  var timeString=hour+':'+minute+" "+ap;
  return timeString;
}
			
function doDate(dateString,dateFormat,nopadding) { 	
  var createdDate = new Date(getDateFromFormat(dateString,'yyyy-MM-dd HH:mm'));
  if(!(dateFormat)){dateFormat='d NNN y';}
    var spacer='&#xA0;';
  if(nopadding){spacer='';}
  return spacer+formatDate(createdDate,dateFormat)+spacer;
}
/* we're also going to need the tab objects we use everywhere for the lawgroup directory thingy */
//tab object
function initTab(objName) {
 this.obj = objName;
 this.aNodes = [];
};
//Node definition
function tabNode(id, name, url, title) {
 this.id = id;
 this.name = name;
 this.url = url;
 this.title = title;
};
//Add node
initTab.prototype.add = function(id, name, url, title) {
 this.aNodes[this.aNodes.length] = new tabNode(id, name, url, title);
};
//Function to dump tabs as linked list
initTab.prototype.dumpTabs = function () {
  var outputStr = "";
  for (n = 0; n < this.aNodes.length; n++) {
      outputStr = outputStr + '<li id=\"tab' + this.aNodes[n].id + 'l\"><a name=\"tab' + this.aNodes[n].id + '\" href=\"#\" id=\"tab' + this.aNodes[n].id + 'r\" onclick=\"' + this.aNodes[n].url + '\">' + this.aNodes[n].title + '</a></li>\n'
   }
  return outputStr;
}
//Function to write tabs to div
initTab.prototype.doTabs = function(myDiv) {
  outputStr = '<ul id="mb1" style="margin:0px;padding:0px;top:0px;left:0px;vertical-align:top;">' + initialTab.dumpTabs() + '</ul>';
  myDiv.innerHTML = outputStr;
  return;
}
function changePage(doc_name, page_name, tabclass) {
  var myPageIndex = -1;
  var dataPages = doc_name.getElementsByClass(tabclass);
  for (i = 0; i < dataPages.length; i++) {
      dataPages[i].style.display="none";
      if (dataPages[i].id == page_name) myPageIndex = i;
  }
 if (doc_name.getElementById("tab" + myPageIndex + "l")) {
     doc_name.getElementsByTagName("body").item(0).id = "body_tab" + myPageIndex;
 }
 doc_name.getElementById(page_name).style.display = "block";
 return false;
}
//this function allows us to dynamically add, remove, swap & check css classes for an object
function jscss(a,o,c1,c2){
  switch (a){
    case 'swap':
      o.className=!jscss('check',o,c1)?o.className.replace(c2,c1):o.className.replace(c1,c2);
      break;
    case 'add':
      if(!jscss('check',o,c1)){o.className+=o.className?' '+c1:c1;}
      break;
    case 'remove':
      if(!jscss('check',o,c1)) return;
      var rep=o.className.match(' '+c1)?' '+c1:c1;
      o.className=o.className.replace(rep,'');
      break;
    case 'check':
      return new RegExp('\\b'+c1+'\\b').test(o.className)
      break;
  }
}

/***********************************************/
/* staffsearch profile switcher */
/***********************************************/
function profile_switch() {
   var d = document;
   var pb = d.getElementById('professional_biography');
   var prb = d.getElementById('personal_biography');
   var sP = d.getElementById('staffPhoto'); 
   var sPP = d.getElementById('staffPhotoPersonal');
   var sPI = d.getElementById('staff_professional_image');
   var sPRI = d.getElementById('staff_personal_image');
   var ps =  d.getElementById('profile_switcher');
   if (pb && pb.style.display != 'none') {
      if (sP && sPP) {
         sP.style.display='none';
      }
      if (sPP) {
         sPP.style.display='block';
      }
      pb.style.display = 'none';
      prb.style.display = 'block';
      if (sPI) {
         sPI.style.display = 'none';
         sPRI.style.display = 'block';
      }
      ps.value = 'View Professional Profile';
   } 
   else {
      if (sP) {
         sP.style.display='block';
      }
      if (sPP) {
         sPP.style.display='none';
      }
      pb.style.display = 'block';
      prb.style.display = 'none';
      if (sPI) {
	sPI.style.display = 'block';
        sPRI.style.display = 'none';
      }
      ps.value = 'View Personal Profile';
   }
}
/***********************************************/
/* show/hide faq function */
function skift(divId) { 
 var d = IDObject(divId);
 var Stat = d.style.display; 
 if (Stat != 'block') { 
	d.style.display = 'block'; 
 }else{ 
	d.style.display = 'none';
 }
}
function IDObject(id) {
 if (ie4) {
  return document.all[id]; 
 } else {
  return document.getElementById(id); 
 }
}
var ie4 = false;
if(document.all) {ie4=true;}
/***********************************************/
/* more show/hide faq function */
function expandFirst() {
document.getElementById(expandFirst.arguments[0]).style.display = "block";
for (var i=1; i<expandFirst.arguments.length; i++){document.getElementById(expandFirst.arguments[i]).style.display = "none";}}
function expandCollapse() {
for (var i=0; i<expandCollapse.arguments.length; i++) {var element = document.getElementById(expandCollapse.arguments[i]);element.style.display = (element.style.display == "none") ? "block" : "none";}
}

