function content_navigation(){
	if($$("#content_navigation .generic_child_page_list ul li")[0]){
		if($$("#content_navigation .generic_child_page_list ul li")[0]){
			$$("#content_navigation .generic_child_page_list ul li").each(function(element){
				if($(element).down("ul")){
					$(element).addClassName("children");
				}
			});
		}
		if($$("#content_navigation .generic_child_page_list li.sel")[0]){
			if($$("#content_navigation .generic_child_page_list li.sel")[0].up("li")){
				$$("#content_navigation .generic_child_page_list li.sel")[0].up("li").addClassName("open");
			}
		}
	}
}

//suppress errors:
function FindADoctor_SpecialtyEvents(){}
function getMetaContents(mn){
	var m = document.getElementsByTagName('meta');
	if(m[0]){
		for(var i in m){
			if(m[i].name == mn){
				return m[i].content;
			}
		}
	}
	return false;
}

var primary_nav_duration = 0.4;

function primary_navigation(){
	
	jQuery(document).ready(function(){
	   //var j = jQuery.noConflict(); 
	    var background_position = jQuery(jQuery("#primary_navigation ul li a")[0]).css("background-position");
	    if (background_position == 'undefined' || background_position == null) {
		jQuery("#primary_navigation ul li").each(function () {

			if(jQuery(this).context.getElementsByTagName("div")[0]){
				if(jQuery(jQuery(this).context.getElementsByTagName("div")[0]).context.getElementsByTagName("div")[0]){
					jQuery(this).hover(
					function () {
							jQuery(jQuery(this).context.getElementsByTagName("a")[0]).css("background-position", jQuery(jQuery(this).context.getElementsByTagName("a")[0]).css("background-position-x") + " -48px");
							jQuery(jQuery(this).context.getElementsByTagName("a")[0]).css("padding-bottom", "0");
							new Effect.Appear(jQuery(this).context.getElementsByTagName("div")[0] , { duration: primary_nav_duration , from: 0, to: 1});
						}, 
						function () {
							if(jQuery(jQuery(this).context.getElementsByTagName("a")[0]).hasClass("sel")){
								jQuery(jQuery(this).context.getElementsByTagName("a")[0]).css("background-position", jQuery(jQuery(this).context.getElementsByTagName("a")[0]).css("background-position-x") + " -96px");
								jQuery(jQuery(this).context.getElementsByTagName("a")[0]).css("padding-bottom", "8px");
								new Effect.Fade(jQuery(this).context.getElementsByTagName("div")[0], { duration: primary_nav_duration });
							}else{
								jQuery(jQuery(this).context.getElementsByTagName("a")[0]).css("background-position", jQuery(jQuery(this).context.getElementsByTagName("a")[0]).css("background-position-x") + " 0");
								new Effect.Fade(jQuery(this).context.getElementsByTagName("div")[0], { duration: primary_nav_duration });
							}
						}
					);
				}
			}
		});
	    } else {
		jQuery("#primary_navigation ul li").each(function () {
			if(jQuery(this).context.getElementsByTagName("div")[0]){
				if(jQuery(jQuery(this).context.getElementsByTagName("div")[0]).context.getElementsByTagName("div")[0]){
					jQuery(this).hover(
					function () {
							jQuery(jQuery(this).context.getElementsByTagName("a")[0]).css("background-position", jQuery(jQuery(this).context.getElementsByTagName("a")[0]).css("background-position").split(" ")[0] + " -48px");
							jQuery(jQuery(this).context.getElementsByTagName("a")[0]).css("padding-bottom", "0");
							new Effect.Appear(jQuery(this).context.getElementsByTagName("div")[0] , { duration: primary_nav_duration , from: 0, to: 1});
						}, 
						function () {
							if(jQuery(jQuery(this).context.getElementsByTagName("a")[0]).hasClass("sel")){
								jQuery(jQuery(this).context.getElementsByTagName("a")[0]).css("background-position", jQuery(jQuery(this).context.getElementsByTagName("a")[0]).css("background-position").split(" ")[0] + " -96px");
								jQuery(jQuery(this).context.getElementsByTagName("a")[0]).css("padding-bottom", "8px");
								new Effect.Fade(jQuery(this).context.getElementsByTagName("div")[0], { duration: primary_nav_duration });
							}else{
								jQuery(jQuery(this).context.getElementsByTagName("a")[0]).css("background-position", jQuery(jQuery(this).context.getElementsByTagName("a")[0]).css("background-position").split(" ")[0] + " 0");
								new Effect.Fade(jQuery(this).context.getElementsByTagName("div")[0], { duration: primary_nav_duration });
							}
						}
					);
				}
			}
		});
	    }
	});

}

addLoadEvent(primary_nav_select);
addLoadEvent(primary_nav_CT);

function primary_nav_CT(){
	if($$("#primary_navigation .alphabetical_links ul li a")[0]){
		$$("#primary_navigation .alphabetical_links ul li a").each(function(element){
			element.onclick = function(){
				if($$("body")[0].hasClassName("eHA_Content_P-nm_L01_CT")){
					// currently on the CT category page
					CT_select_letter(this);
					return false;
				}else{
					// not on CT category page
					return true;
				}
			};
		});
	}
}

function primary_nav_select(){
	if(getMetaContents("eHA_Category_Id")){
		var eHA_Category_Id = "assetid_"+getMetaContents("eHA_Category_Id");
		if($$("#primary_navigation li")[0]){
			$$("#primary_navigation li").each(function(element){
				if($(element).hasClassName(eHA_Category_Id)){
					$(element).down("a").addClassName("sel");
				}
			});
		}
	}
}

function videoTab(){
	if(location.href.split("#")[1] == "video"){
		FindADoctor_switchToTab("video","video_link");
	}
}   

function replace_events_links(){
	if($$("#classes_and_events a")[0]){
		
		$$("#classes_and_events a").each(function(element){
                    if(!$(element).up("p")){
				 $(element).href = $(element).href.replace(reg, eventServer);
                    }else{
			        if($(element).up("p").className != "seeAll"){
                                      $(element).href = $(element).href.replace(reg, eventServer);
                             } 
                    }
		});

	}
}

function all_events_list(){
	if($$("#classes_and_events_list a")[0]){
		
		$$("#classes_and_events_list a").each(function(element){
                    if(!$(element).up("p")){
				 $(element).href = $(element).href.replace(reg, eventServer);
                    }else{
			        if($(element).up("p").className != "seeAll"){
                                      $(element).href = $(element).href.replace(reg, eventServer);
                             } 
                    }
		});

	}
	var rows = document.getElementById("classes_and_events_list").getElementsByTagName("table").item(0).rows;
	var name_list = "";
}


// ### ACTION TOOLBAR ####//
var blind_duration = 0.4;
//close all not selected elements
function closeActionToolbar(aElement){
	var divElement = $(aElement).up("li").down("div");
	$$('#action_toolbar li div').each(function(el){
										   
   	var thisElement = $(el);
   //console.log(thisElement!=divElement);
     if(thisElement!=divElement){
   //thisElement.toggle({duration:blind_duration});
   thisElement.hide();
   thisElement.up("li").removeClassName("sel");
	   }
   });
}

//display selected element
function openActionToolbarDiv(aElement){
	var thisEl = $(aElement).up("li");
	 if(thisEl.down("div")){
		if(thisEl.down("div").getStyle('display')=='none'){
			pageTracker._trackEvent(aElement.innerHTML, 'Expanded');
		}
		 new Effect.toggle(thisEl.down("div"),"blind",{duration:blind_duration});
		thisEl.toggleClassName("sel");	
	}
}

			/*
function actionToolbar(){ 
	if($$('#action_toolbar>ul>li>a')[0]){
		$$('#action_toolbar>ul>li>a').each(function(element){
				element.onclick = function(){
				closeActionToolbar(this);
				openActionToolbarDiv(this);
				return false;
				};
		});
	}
}
*/
addLoadEvent(actionToolbar);

//SEARCH RESULTS PAGE TOGGLE

function toggleExpansion(el){
	el = $(el.id);
	var duration_value = blind_duration;
	if(el.up("div.category").down(".more")){
		Effect.toggle(el.up("div.category").down(".more"), 'blind',{
			duration:duration_value,
			afterFinish:toggleTitle(el)	
		});
	}
	return false;
}


function toggleTitle(el){
	el = $(el.id);
	if(el.title.indexOf("more")!=-1){
		el.title = el.title.replace(/more/,"fewer");
		el.innerHTML = el.innerHTML.replace(/more/,"fewer");


		el.up("h3").addClassName("see_less");
		el.up("h3").removeClassName("see_more");
	}else{
		el.title = el.title.replace(/fewer/,"more");
		el.innerHTML = el.innerHTML.replace(/fewer/,"more");
		el.up("h3").removeClassName("see_less");
		el.up("h3").addClassName("see_more");
	}
}





var AJAX_gif = new Element('img',{'src':'/nm_core/images/ajax64.gif','alt':'please wait',className:'ajax_loader'});

var Graph_AJAX_gif = new Element('img',{'src':'/nm_core/images/ajax64-d0d0d0.gif','alt':'please wait',className:'ajax_loader'});

var CT_AJAX_gif = AJAX_gif;

var VideoPortal_AJAX_gif = AJAX_gif;

/*
##### CT -- alphabetical listing navigation
*/

function CT_alphabet_link_events(){
	// need to load hash and go to that letter...
	if(!clientHash.isEmpty()){
		var letter = clientHash.value().replace("/","");
		if($$(".alphabetical_list li ."+letter)){
			$$(".alphabetical_list li ."+letter).each(function(element){
				$(element).up("li").addClassName("sel");
			});
		}
		
		if($$("#content_body .page_title")[0]){
			$$("#content_body .page_title")[0].update(letter);
		}
		CT_listing_replace(letter);
	}else{
		// show "A" as selected
		if($$(".alphabetical_list li .A")){
			$$(".alphabetical_list li .A").each(function(element){
				$(element).up("li").addClassName("sel");
			});
		}
	}

	
	if($$(".alphabetical_list li a")){
		$$(".alphabetical_list li a").each(function(element){
			element.onclick = function(){
				CT_select_letter(this);
				return false;
			};
		});
	}
}


var alphabetList = {
	init:function(obj){
		this.ajax.init(obj.serverCall);
		this.alphabetListUI.init(obj);
		this.alphabetListUI.assignEvents();
		SWFAddress.addEventListener(SWFAddressEvent.INTERNAL_CHANGE, alphabetList.letterChange);
		SWFAddress.addEventListener(SWFAddressEvent.EXTERNAL_CHANGE, alphabetList.letterChange);
		if(SWFAddress.getValue().length > 1){this.ajax.loadFromURL()}
	},
	letterChange:function(){
		alphabetList.ajax.loadFromURL();
	},
	alphabetListUI:{
		init:function(obj){
			if(SWFAddress.getValue()=='/'){SWFAddress.setValue("letter=A")}
			this.listSelector=obj.listSelector;
			this.mainSelector=obj.mainSelector;
			document.observe('physicianEvent:xhrComplete',this.onNewLetterLoaded.bind(this));
			document.observe('physicianEvent:xhrCreate',this.showLoading.bind(this));
		},
		assignEvents:function(){
			if($$(this.listSelector+" li a")){
				$$(this.listSelector+" li a").each(function(element){
					element.observe('click',function(event){
						SWFAddress.setValue("letter="+this.innerHTML);
						Event.stop(event);
					});
				});
			}
			if($$('div.bottom div.pagination_inner li a').length>0){
				$$('div.bottom div.pagination_inner li a').each(function(element){
					element.observe('click',function(event){
						var hashParams = {};
						var el=Event.element(event);
						if(el.up('li').hasClassName('next')==true){
							if(hashParams['startindex']){hashParams['startindex']=parseInt(hashParams['startindex'])+1}
							else(hashParams['startindex']=2)
						}
						else if(el.up('li').hasClassName('previous')==true){
							if(hashParams['startindex']){hashParams['startindex']=parseInt(hashParams['startindex'])-1}
							//else(hashParams['startindex']=el.innerHTML)
						}
						else{hashParams['startindex']=el.innerHTML}
						SWFAddress.setValue(Object.toQueryString(hashParams));
						Event.stop(event);
					});
				});
			}
		},
		showLoading:function(){
			$$('body')[0].setStyle({cursor:'progress'});
			$$(this.mainSelector)[0].replace(CT_AJAX_gif);
		},
		onNewLetterLoaded:function(event){
			if(!Prototype.Browser.IE){
				var newSt=SHARETHIS.addEntry(
				{
					title:encode_utf8(document.title),
					url:encode_utf8(document.location.href)
				},{
					button:false,
					embeds:true
				});
				newSt.attachButton($$('.page_toolbar_sharethis a')[0]);
				SHARETHIS.onReady();
			}
			$$('body')[0].setStyle({cursor:'auto'});
			$$("#content_body .ajax_loader")[0].replace(event.memo.transport.responseText);
			$$(this.listSelector+" li.sel").invoke("removeClassName","sel");
			var hashParams = SWFAddress.getValue().replace('/','').toQueryParams();
			$$(this.listSelector+' .'+hashParams['letter']).each(function(element){
				$(element).up("li").addClassName("sel");
			});
			if($$("#content_body .page_title")[0]){
				$$("#content_body .page_title")[0].update(hashParams['letter']);
			}
			if($$('div.bottom div.pagination_inner li a').length>0){
				$$('div.bottom div.pagination_inner li a').each(function(element){
					element.observe('click',function(event){
						var el=Event.element(event);
						if(el.up('li').hasClassName('next')==true){
							if(hashParams['startindex']){hashParams['startindex']=parseInt(hashParams['startindex'])+1}
							else(hashParams['startindex']=2)
						}
						else if(el.up('li').hasClassName('previous')==true){
							if(hashParams['startindex']){hashParams['startindex']=parseInt(hashParams['startindex'])-1}
							//else(hashParams['startindex']=el.innerHTML)
						}
						else{hashParams['startindex']=el.innerHTML}
						SWFAddress.setValue(Object.toQueryString(hashParams));
						Event.stop(event);
					});
				});
			}
		}
	},
	ajax: {
		init:function(url){
			this.currentXHRObj={};
			this.isLoading=false;
			this.serverCall=url;
		},
		loadFromURL:function(){
			if(this.isLoading==true){this.currentXHRObj.abort();}
			document.fire('physicianEvent:xhrOpen');
			this.isLoading=true;
			this.currentXHRObj = new Ajax.Request(this.serverCall,{
				method:'get',
				asynchronous:true,
				parameters: SWFAddress.getValue().replace('/',''),
				onCreate: function(){document.fire('physicianEvent:xhrCreate')},
				onSuccess: function(transport){},
				onComplete: function(transport){
					document.fire('physicianEvent:xhrComplete',{transport:transport});
					this.isLoading=false;
				}.bind(this),
				onFailure: function(){/*alert('Something went wrong...');*/}
			});
		}
	}
}
function Physician_Browse_Specialty_listing_replace(letter){
	alert('Physician_Browse_Specialty_listing_replace');
}
function Physician_Browse_Specialty_alphabet_link_events(){
	alphabetList.init({serverCall:specialtyListURL,listSelector:'.alphabetical_list',mainSelector:'#specialty_list'});
}

function Physician_Browse_Name_listing_replace(letter){
	alert('Physician_Browse_Name_listing_replace');
}


function Physician_Browse_Name_select_letter(el){
	alert('Physician_Browse_Name_select_letter');
}





function Physician_Browse_Name_alphabet_link_events(){
	alphabetList.init({serverCall:subTemplatePhysicianGroupDirectory,listSelector:'.alphabetical_list',mainSelector:'#physician_directory'});
}

function Fully_Qualified_URL(){
	var thisURL = document.location.href;
	if(!clientHash.isEmpty() && thisURL.indexOf("#")==-1){
		thisURL = thisURL + "#" + clientHash.value();
	}
	if(thisURL.indexOf(document.domain)==-1){
		thisURL = document.domain+"/"+thisURL;
	}
	if(thisURL.indexOf("http://")==-1){
			if(thisURL.indexOf("https://")==0){
	     	 thisURL = "" + thisURL;
			}
		   else thisURL = "http://" + thisURL;
	}
	return thisURL;
}


function CT_alphabet_analytics(letter){
	try {
			pageTracker._trackPageview("/nmh/CTindex/"+letter);
		} catch(err){
			//alert('problems');
		}
}

function CT_select_letter(el){
	el = $(el);
	
	var letter = el.className;
		
	$$(".alphabetical_list li.sel").invoke("removeClassName","sel");
	$$(".alphabetical_list ."+letter).each(function(element){
		$(element).up("li").addClassName("sel");
	});
	
	if($$("#content_body .page_title")[0]){
		$$("#content_body .page_title")[0].update(letter);
	}
	
	clientHash.update(letter,"nav");
	
	CT_listing_replace(letter);
}

function CT_listing_replace(letter){
	var url = SubTemplate_CT_Listing+"&letter="+letter;
	new Ajax.Request(url, {
		method: 'get',
		onCreate: function(){
			if($$("#content_body p.condition_letter_not_found")[0]){
				$$("#content_body p.condition_letter_not_found")[0].replace(CT_AJAX_gif);
			}else{
				if($$("#content_body>.generic_child_page_list.columns_2")[0]){
					$$("#content_body>.generic_child_page_list.columns_2")[0].replace(CT_AJAX_gif);
				}
			}
		},
		onComplete: function(transport){
			if(transport.responseText){
				CT_AJAX_gif.replace(transport.responseText);
				CT_alphabet_analytics(letter);
			}else{
				if($$("#content_body .ajax_loader")[0]){
					var thisLetter = $$("#content_body .alphabetical_list li.sel a")[0].className;
					CT_AJAX_gif.replace("<p class='condition_letter_not_found'>Currently, we do not have any conditions and treatments that begin with the letter "+thisLetter+".</p>");
				}
			}
			CT_promo_replace(letter);
		},
		onFailure: function(){
			
		}
	});
}

function CT_promo_replace(letter){
	var url = SubTemplate_CT_Featured_Services_Promos+"&letter="+letter;
	new Ajax.Request(url, {
		method: 'get',
		onCreate: function(){
			if($$(".content_sub .CT_page_related_promos")[0]){
				$$(".content_sub .CT_page_related_promos")[0].replace(CT_AJAX_gif);
			}
		},
		onComplete: function(transport){
			if(transport.responseText){
				CT_AJAX_gif.replace(transport.responseText);
			}
		},
		onFailure: function(){
			
		}
	});

}

String.prototype.replaceAll = function(stringToFind,stringToReplace){
	var temp = this;
	var index = temp.indexOf(stringToFind);
	while(index != -1){
		temp = temp.replace(stringToFind,stringToReplace);
		index = temp.indexOf(stringToFind);
	}
	return temp;
}

var clientHash = {
	// clientHash object can have 2 states, Navigational String or Query String
	
	value: function(){
		return (window.location.hash+"").replace("#","");
	},
	add: function(newString){
		// takes a string that is either:
		// 1) a navigation folder (or sequence of folders)
		// 2) object array of parameters\values or query string
		
		if(clientHash.isNav()){
			window.location.hash = clientHash.value()+"/"+newString;
		}
		if(clientHash.isQuery()){
			if($H(newString).toQueryString()){
				// newString is object array of parameters\values
				window.location.hash = clientHash.value()+$H(newString).toQueryString();
			}else{
				window.location.hash = clientHash.value()+newString;
			}
		}
		return clientHash;
	},
	remove: function(removeString){
		// takes a string that is either:
		// 1) a navigation folder (or sequence of folders)
		// 2) object array of parameters\values or query string
		
		if(clientHash.isNav()){
			window.location.hash = clientHash.value().replaceAll(removeString,"");
		}
		if(clientHash.isQuery()){
			if($H(newString).toQueryString()){
				// newString is object array of parameters\values
				var thisHashHash = $H(clientHash.value().toQueryParams());
				$H(removeString).keys().each(function(key){
					thisHashHash.unset(key);
				});
				window.location.hash = thisHashHash.toQueryString();
			}else{
				window.location.hash = clientHash.value().replaceAll(removeString,"");
			}
		}
		return clientHash;
	},
	toArray: function(){
		if(clientHash.isNav()){
			// returns array of folders
			return clientHash.value().split("/");
		}
		
		if(clientHash.isQuery()){
			// returns associative array
			return clientHash.value().toQueryParams();
		}
	},
	update: function(newString,state){
		if(typeof state !== undefined && state==="nav"){
			window.location.hash = "/"+newString;
		}else{
			window.location.hash = newString;
		}
		return clientHash;
	},
	clear: function(){
		window.location.hash = "";
		return clientHash;
	},
	isEmpty: function(){
		if(clientHash.value() && clientHash.value().length>1 && clientHash.value()!=="#"){
			return false;
		}else{
			return true;
		}
	},
	isQuery: function(){
		if(!clientHash.isEmpty()){
			return clientHash.value().indexOf("/")==-1;
		}else{
			return false;
		}
	},
	isNav: function(){
		if(!clientHash.isEmpty()){
			return clientHash.value().indexOf("/")!=-1;
		}else{
			return false;
		}
	}
}

function standardizeHREF(href_string){
	// returns href_string as http://www.google.com/foo/bar.html
	if(href_string.indexOf(document.domain)==-1){
		href_string = document.domain+"/"+href_string;
		if(href_string.indexOf("http://")==-1){
			href_string = "http://"+href_string;
		}
	}
	return href_string
}

function sanitizeHREF(href_string){
	return href_string.replace(document.domain,"").replace("/nm/","").replace("http://","");
}


function CT_load_content_sub(this_cid){
	var url = SubTemplate_CT_content_sub+"&cid="+this_cid;
	
	new Ajax.Request(url, {
		method: 'get',
		onCreate: function(){
			if($$("#content_main .content_sub")[0]){
				$$("#content_main .content_sub")[0].update(CT_AJAX_gif);
			}
		},
		onSuccess: function(transport){
			if(transport.responseText){
				$$("#content_main .content_sub")[0].innerHTML = transport.responseText;
			}
		},
		onComplete: function(){
			actionToolbar();
		},
		onFailure: function(){
			
		}
	});
	
}

function CT_update_breadcrumbs(el,link_type){
	el = $(el);
	if(link_type==="tab"){
		// changing tab-level link in breadcrumbs
		if($$("#bread_crumbs ul li.tab")[0]){
			// found a tab-level link, remove everything after it
			while($$("#bread_crumbs ul li.tab")[0].next()){
				$$("#bread_crumbs ul li.tab")[0].next().remove();
			}
			// replace anchor tag inside tab LI
			if(el.down("span")){
				var anchor_tag = new Element('a',{'href':el.href}).update(el.down("span").innerHTML);
			}else{
				var anchor_tag = new Element('a',{'href':el.href}).update(el.innerHTML);
			}
			$$("#bread_crumbs ul li.tab")[0].update(anchor_tag).addClassName("sel").addClassName("last");
		}else{
			// didn't find a tab-level link.  add tab-level LI and link, remove "last" and "sel" classes from last LI
			if(el.down("span")){
				var anchor_tag = new Element('a',{'href':el.href}).update(el.down("span").innerHTML);
			}else{
				var anchor_tag = new Element('a',{'href':el.href}).update(el.innerHTML);
			}
			var list_item = new Element('li').update(anchor_tag).addClassName('sel last tab');
			if($$("#bread_crumbs ul li.last")[0]){
				$$("#bread_crumbs ul li.last")[0].removeClassName("last").removeClassName("sel").insert({'after':list_item});
			}
		}
	}
	if(link_type==="child"){
		// changing child-level link in breadcrumbs
		if($$("#bread_crumbs ul li.child")[0]){
			// found a child-level link, remove everything after it and change it's anchor tag
			while($$("#bread_crumbs ul li.child")[0].next()){
				$$("#bread_crumbs ul li.child")[0].next().remove();
			}
			if(el.down("span")){
				var anchor_tag = new Element('a',{'href':el.href}).update(el.down("span").innerHTML);
			}else{
				var anchor_tag = new Element('a',{'href':el.href}).update(el.innerHTML);
			}
			$$("#bread_crumbs ul li.child")[0].update(anchor_tag).addClassName("sel").addClassName("last");
		}else{
			// didn't find a child-level link.  add child-level LI and link, remove "last" and "sel" classes from last LI
			if(el.down("span")){
				var anchor_tag = new Element('a',{'href':el.href}).update(el.down("span").innerHTML);
			}else{
				var anchor_tag = new Element('a',{'href':el.href}).update(el.innerHTML);
			}
			var list_item = new Element('li').update(anchor_tag).addClassName('sel last child');
			if($$("#bread_crumbs ul li.last")[0]){
				$$("#bread_crumbs ul li.last")[0].removeClassName("last").removeClassName("sel").insert({'after':list_item});
			}
		}
	}
	if(link_type==="grandchild"){
		// changing grandchild-level link in breadcrumbs
		if($$("#bread_crumbs ul li.grandchild")[0]){
			// found a grandchild-level link, change it's anchor tag
			if(el.down("span")){
				var anchor_tag = new Element('a',{'href':el.href}).update(el.down("span").innerHTML);
			}else{
				var anchor_tag = new Element('a',{'href':el.href}).update(el.innerHTML);
			}
			$$("#bread_crumbs ul li.grandchild")[0].update(anchor_tag);
		}else{
			// didn't find a grandchild-level link.  add grandchild-level LI and link, remove "last" and "sel" classes from last LI
			if(el.down("span")){
				var anchor_tag = new Element('a',{'href':el.href}).update(el.down("span").innerHTML);
			}else{
				var anchor_tag = new Element('a',{'href':el.href}).update(el.innerHTML);
			}
			var list_item = new Element('li').update(anchor_tag).addClassName('sel last grandchild');
			if($$("#bread_crumbs ul li.last")[0]){
				$$("#bread_crumbs ul li.last")[0].removeClassName("last").removeClassName("sel").insert({'after':list_item});
			}
		}
	}
	//initiatejBreadCrumbs();
}


function CT_select_tab(el,json_bool,child){
	if(json_bool){
		// this tab is loading from page reload and hash in URL
		// first remove sel from any other tab..
		if($$("#content_navigation li")[0]){
			$$("#content_navigation li").invoke("removeClassName","sel");
		}
		
		// then add sel to correct tab
		var this_cid = eval("generic_child_page_list."+el+".id");
		if($$("#content_navigation li a.eHA_Content_C-"+this_cid)[0]){
			$$("#content_navigation li a.eHA_Content_C-"+this_cid)[0].up("li").addClassName("sel");
		}
		var el = $$("#content_navigation li a.eHA_Content_C-"+this_cid)[0];
	}else{
		el = $(el);
		$$("#content_navigation li").invoke("removeClassName","sel");
		el.up("li").addClassName("sel");
		var c_cid = el.className;
		var this_cid = c_cid.split("-")[1];
		clientHash.update(clean_anchor_text(el),"nav");
	}
	CT_update_breadcrumbs(el,"tab");
	
	var url = SubTemplate_CT+"&cid="+this_cid;
	new Ajax.Request(url, {
		method: 'get',
		onCreate: function(){
			if($$("#content_body")[0]){
				$$("#content_body")[0].update(CT_AJAX_gif);
			}
		},
		onSuccess: function(transport){
			if(transport.responseText){
				$$("#content_body")[0].innerHTML = transport.responseText;
			}
		},
		onComplete: function(){
			CT_check_for_children();
			page_toolbar();
			CT_index_page_events(false);
			if(child){
				CT_select_child(child,true);
			}else{
				CT_load_content_sub(this_cid);
			}
		},
		onFailure: function(){
			
		}
	});

}

function CT_check_for_children(){
	if($$("#ct_navigation .generic_child_page_list ul li")[0]){
		$$("#ct_navigation .generic_child_page_list ul li").each(function(element){
			if($(element).down("ul")){
				$(element).addClassName("children");
			}
		});
		return true;
	}
	return false;
}

function clean_anchor_text(el){
	while($(el).down()){
		el = $(el).down()
	}
	var anchor_text = $(el).innerHTML;
	return anchor_text.replaceAll(" ","_").replaceAll("\(","_").replaceAll("\)","_").replaceAll("/","_").replaceAll(",","_").replaceAll(":","_").replaceAll("&amp;","_").replaceAll("&","_").replaceAll("-","_").replaceAll("&reg;","_").replaceAll("'","_");
}

function CT_select_child(el,json_bool){
	if(json_bool){
		// this is happening from reload with hash URL .. must expand 2nd level
		// but first, remove the xxx. from xxx.yyy.zzz or xxx.yyy  
		var el_remainder = el;
		if(el_remainder.indexOf(".")!=-1){
			el_remainder = el_remainder.substring(el_remainder.indexOf(".")+1);
		}
		if(el_remainder.indexOf(".")!=-1){
			var child_name = el_remainder.split(".")[0];
			var grandchild_name = el_remainder.split(".")[1];
			//console.log("the level2 name is "+ child_name);
			if($$("#ct_navigation .generic_child_page_list li."+child_name)[0]){
				$$("#ct_navigation .generic_child_page_list li."+child_name)[0].addClassName("open");
				$$("#ct_navigation .generic_child_page_list li."+child_name)[0].down("ul").blindDown({duration:blind_duration});
			}
			if($$("#ct_navigation .generic_child_page_list li."+grandchild_name)[0]){
				$$("#ct_navigation .generic_child_page_list li."+grandchild_name)[0].addClassName("sel");
			}
		}else{
			if($$("#ct_navigation .generic_child_page_list li."+el_remainder)[0]){
				$$("#ct_navigation .generic_child_page_list li."+el_remainder)[0].addClassName("sel");
				// if this has children of its own, open up.
				if($$("#ct_navigation .generic_child_page_list li."+el_remainder)[0].down("ul")){
					$$("#ct_navigation .generic_child_page_list li."+el_remainder)[0].addClassName("open");
					$$("#ct_navigation .generic_child_page_list li."+el_remainder)[0].down("ul").blindDown({duration:blind_duration});
				}
			}
		}
		var this_cid = eval("generic_child_page_list."+el+".id");
		
		var anchor_el = $$("#ct_navigation .generic_child_page_list li a.eHA_Content_C-"+this_cid)[0];
		
	}else{
		el = $(el);
		//el.up("li").siblings().invoke("removeClassName","sel");
		el.up("li").siblings().each(function(element){
			$(element).removeClassName("sel");
			if($(element).down("ul")){
				$(element).down("ul").hide();
				$(element).removeClassName("open");
			}
		});
		if(el.up("li").up("li")){
			el.up("li").up("li").removeClassName("sel");
			el.up("li").up("li").siblings().each(function(element){
				$(element).removeClassName("sel");
			});
		}else{
			if(el.next("ul")){
				el.next("ul").childElements().invoke("removeClassName","sel");
			}
		}
	
		el.up("li").addClassName("sel");
		
		if(el.next("ul")){
			el.up("li").addClassName("open");
			el.next("ul").blindDown({duration:blind_duration});
		}
		
		var c_cid = el.className;
		var this_cid = c_cid.split("-")[1];
		var tabFolder = "";
		if($$("#content_navigation .generic_child_page_list .sel a")[0]){
			tabFolder = clean_anchor_text($$("#content_navigation .generic_child_page_list .sel a")[0]);
		}
		if(el.up("li").up("li")){
			var level2 = el.up("li").up("li").down("a");
			clientHash.update(tabFolder+"/"+clean_anchor_text(level2)+"/"+clean_anchor_text(el),"nav");
		}else{
			clientHash.update(tabFolder+"/"+clean_anchor_text(el),"nav");
		}
		var anchor_el = el;
		// loading happening onclick, so execute track function (hash has just been updated)
	}
	
	/* .. still need to figure out why this fails..
	*/
	
	if(json_bool){
		if(json_bool && el_remainder.indexOf(".")!=-1){
			// there's a child and grandchild
			if((anchor_el.up("ul").previous("a"))){
				CT_update_breadcrumbs(anchor_el.up("ul").previous("a"),"child");
			}
			CT_update_breadcrumbs(anchor_el,"grandchild");
		}else{
			// there's only a child
			CT_update_breadcrumbs(anchor_el,"grandchild");
		}
	}else{
		if((el.up("ul").previous("a"))){
			CT_update_breadcrumbs(anchor_el.up("ul").previous("a"),"child");
			CT_update_breadcrumbs(anchor_el,"grandchild");
		}else{
			CT_update_breadcrumbs(anchor_el,"child");
		}
	}
	var url = SubTemplate_CT_content+"&cid="+this_cid;
	new Ajax.Request(url, {
		method: 'get',
		onCreate: function(){
			if($$("#ct_content")[0]){
				$$("#ct_content")[0].update(CT_AJAX_gif);
			}
		},
		onComplete: function(transport){
			if(transport.responseText){
				$$("#ct_content")[0].innerHTML = transport.responseText;
				page_toolbar();
				CT_load_content_sub(this_cid);
			}
		},
		onFailure: function(){}
	});
}


function CT_index_page_events(readHash_bool){
	
	if($$("#ct_navigation .generic_child_page_list ul li ul")[0]){
		$$("#ct_navigation .generic_child_page_list ul li ul").each(function(element){
			var keepChildrenOpen = $(element).up("li").hasClassName("sel");
			if(!keepChildrenOpen){
				$(element).select("li").each(function(elementLI){
					if(elementLI.hasClassName("sel")){
						keepChildrenOpen = true;
					}
					
				});
			}
			if(keepChildrenOpen){
				// do not hide the children, this is a selected item
				$(element).up("li").addClassName("open");
			}else{
				// hide children
				$(element).hide();
			}
		});
		
	}
	if($$("#ct_navigation .generic_child_page_list a")[0]){
		if($("ct_content")){
			$("ct_content").removeClassName("full");
		}
	}else{
		if($("ct_content") ){
			$("ct_content").addClassName("full");
		}
		if($("content_navigation_module")){
			$("ct_content").removeClassName("full");
		}
		
	}


	
	if($$("#bread_crumbs ul li").size()===3){
		// this is a "home" page, add first tab to bread crumbs
		if($$("#content_navigation .generic_child_page_list li")[0]){
			$$("#content_navigation .generic_child_page_list li")[0].addClassName("sel");
			CT_update_breadcrumbs($$("#content_navigation .generic_child_page_list li a")[0],"tab");
		}
	}else{
		// this is not a homepage, the breadcrumbs should already have a tab, child, or grandchild on it.
		// must add appropriate classes to these bread crumbs
		if($$("#bread_crumbs ul li")[3]){
			$$("#bread_crumbs ul li")[3].addClassName("tab");
			// add selected class to tab
			if($$("#content_navigation .generic_child_page_list li")[0]){
				var tabHREF = sanitizeHREF($$("#bread_crumbs ul li")[3].down("a").href);
				if($$("#content_navigation .generic_child_page_list ul li a[href=/nm/"+tabHREF+"]")[0]){
					$$("#content_navigation .generic_child_page_list ul li a[href=/nm/"+tabHREF+"]")[0].up("li").addClassName("sel");
				}
			}
		}
		if($$("#bread_crumbs ul li")[4]){
			$$("#bread_crumbs ul li")[4].addClassName("child");
		}
		if($$("#bread_crumbs ul li")[5]){
			$$("#bread_crumbs ul li")[5].addClassName("grandchild");
		}
		
		// now find the link for the current page and make sure its LI is "sel"
		if($$("#bread_crumbs ul li.last a")[0]){

			var currentHREF = sanitizeHREF($$("#bread_crumbs ul li.last a")[0].href);
			if($$(".generic_child_page_list ul li a[href=/nm/"+currentHREF+"]")[0]){
				$$(".generic_child_page_list ul li a[href=/nm/"+currentHREF+"]")[0].up("li").addClassName("sel");
			}
		}
	}
	CT_check_for_children();
}




function initiatejBreadCrumbs(){
	jQuery(document).ready(function(){
		jQuery("#bread_crumbs").jBreadCrumb();
	});
}





function HomePageLocations(){
	if($$("#featured_locations li")){
		$$("#featured_locations li")[0].addClassName("featured");
		$$("#featured_locations li a").each(function(element){
			element.onclick = function(){
				SelectLocation(this);
				return false;
			};
		});
		$$("#featured_locations li.featured a").each(function(element){
			element.onclick = "";
		});
	}
}



function SelectLocation(el){
	$(el).up("li").siblings().invoke("removeClassName","featured");
	$(el).up("li").addClassName("featured");
	
	$$("#featured_locations li a").each(function(element){
		element.onclick = function(){
			SelectLocation(this);
			return false;
		};
	});
	$$("#featured_locations li.featured a").each(function(element){
		element.onclick = "";
	});
}

function js_redirect(relative_url){
	if(relative_url.indexOf("http://")!=-1){
	       document.location = relative_url;
	       return false;
	}else{
	       var current_url = document.location.href;
	       document.location = current_url.replace(current_url.substring(current_url.lastIndexOf("/nm/")),relative_url);
	       return false;
	}
}

function encode_utf8(s){
	//return unescape(encodeURIComponent(s));
	return encodeURIComponent(s);
}






/*
  ADAM js
*/




function ADAM_popupEvents(){
	if($$("li.p2 a")[0]){
		$$("li.p2 a").each(function(element){
			element.onclick = function(){
				var options = "directories=no,scrollbars=yes,width=420,location=no,menubar=no,resizable=yes,status=no,titlebar=no,toolbar=no";
				window.open(this.href,'',options);
				return false;
			}
		});
	}
	if($$("li.p3 a")[0]){
		$$("li.p3 a").each(function(element){
			$(element).addClassName("disabled");
			element.onclick = function(){
				return false;
			}
		});
	}
	if($$("li.p17 a")[0]){
		$$("li.p17 a").each(function(element){
			$(element).addClassName("disabled");
			element.onclick = function(){
				return false;
			}
		});
	}
	if($$("li.p57 a")[0]){
		$$("li.p57 a").each(function(element){
			$(element).addClassName("disabled");
			element.onclick = function(){
				return false;
			}
		});
	}
	if($$("li.p60 a")[0]){
		$$("li.p60 a").each(function(element){
			$(element).addClassName("disabled");
			element.onclick = function(){
				return false;
			}
		});
	}
	if($$("a.ext")[0]){
		$$("a.ext").each(function(element){
			element.target = "_blank";
		});
	}		
}

var ADAM_AJAX_gif = AJAX_gif;
function ADAM_alphabet_link_events(readHash_bool){
	if(readHash_bool == true){
		// need to load hash and go to that letter...
		if(!clientHash.isEmpty()){
			var letter = $A(clientHash.toArray())[1];
			if($$(".alphabetical_list li ."+letter)[0]){
				ADAM_select_letter($$(".alphabetical_list li ."+letter)[0]);
				ADAM_listing_replace(letter);
			}
		}else{
			// show "A" as selected
			if($$(".alphabetical_list li .A")){
				$$(".alphabetical_list li .A").each(function(element){
					$(element).up("li").addClassName("sel");
				});
			}
		}
	} else {
		// show "A" as selected
		if($$(".alphabetical_list li .A")){
			$$(".alphabetical_list li .A").each(function(element){
				$(element).up("li").addClassName("sel");
			});
		}
	}


	if($$(".alphabetical_list li a")[0]){
		$$(".alphabetical_list li a").each(function(element){
			element.onclick = function(){
				//console.log("letter selected "+element.className);
				ADAM_select_letter(this);
				return false;
			};
		});
	}

        //ADAM_load_parent_content();

}

function ADAM_select_letter(el){
	el = $(el);
	
	var letter = el.className;

	$$(".alphabetical_list li.sel").invoke("removeClassName","sel");

	$$(".alphabetical_list ."+letter).each(function(element){
		$(element).up("li").addClassName("sel");
	});

	
	if($$("#content_body .page_title")[0]){
		$$("#content_body .page_title")[0].update(letter);
	}
//alert(letter);
	clientHash.update(letter+clientHash.value().substring("2"),"nav");

	ADAM_listing_replace(letter);

}

function ADAM_listing_replace(letter){

	var url = SubTemplate_ADAM_Listing+"&letter="+letter;

	new Ajax.Request(url, {
		method: 'get',
		onCreate: function(){
			if($$("#content_body p.condition_letter_not_found")[0]){
				$$("#content_body p.condition_letter_not_found")[0].update(ADAM_AJAX_gif);
			}else{
				if($$("#content_body .generic_child_page_list.columns_1")[0]){

					$$("#content_body .generic_child_page_list.columns_1")[0].update(ADAM_AJAX_gif);
				}
			}
		},
		onComplete: function(transport){
			if(transport.responseText){
				if($$("#content_body .generic_child_page_list.columns_1")[0]){

					$$("#content_body .generic_child_page_list.columns_1")[0].update(transport.responseText);

				}
				//ADAM_load_parent_content();
			}else{
				var thisLetter = $$("#content_body .alphabetical_list li.sel a")[0].className;
				$$("#content_body .generic_child_page_list.columns_1")[0].update("<p class='condition_letter_not_found'>Currently, we do not have any pages that begin with the letter "+thisLetter+".</p>");
			}
			pageTracker._trackPageview("/adam/ADAMIndex/"+letter);
		},
		onFailure: function(){}
	});
}

function ADAM_load_parent_content(){
	if($$("#content_body .generic_child_page_list li a")){
		$$("#content_body .generic_child_page_list li a").each(function(element){
			element.onclick = function(){
				ADAM_load_adam_child(this);
				return false;
			};
		});
	}
}

function ADAM_index_page_events(readHash_bool){
	if($$("#adam_navigation .generic_child_page_list ul li ul")[0]){
		$$("#adam_navigation .generic_child_page_list ul li ul").invoke("hide");
	}
	if($$("#adam_navigation .generic_child_page_list a")[0]){
		if($("adam_content")){
			$("ct_content").removeClassName("full");
		}
	}else{
		if($("adam_content")){
			$("adam_content").addClassName("full");
		}
	}
		if(!clientHash.isEmpty()){
			var clientHashArray = $A(clientHash.toArray());
			var child;
			var grandchild;
			if(clientHashArray.size()===3){
				child = clientHashArray[2];
				ADAM_select_child(child,true);
			}else{
				if(clientHashArray.size()===4){
					child = clientHashArray[2];
					grandchild = child +"."+clientHashArray[3];
					ADAM_select_child(grandchild ,true);
				}
			}
		}
	ADAM_check_for_children();
	ADAM_popupEvents();
}



function ADAM_check_for_children(){
	if($$("#adam_navigation .generic_child_page_list ul li")[0]){
		$$("#adam_navigation .generic_child_page_list ul li").each(function(element){
			if($(element).down("ul")){
				$(element).addClassName("children");
			}
		});
	}
}

function ADAM_select_child(el,json_bool){
	if(json_bool){
		// this is happening from reload with hash URL .. must expand 2nd level
		if($$("#adam_navigation .generic_child_page_list li.sel")[0]){
			$$("#adam_navigation .generic_child_page_list li.sel")[0].removeClassName("sel");
		}
		if($$("#adam_navigation .generic_child_page_list li.open")[0]){
			$$("#adam_navigation .generic_child_page_list li.open")[0].removeClassName("open");
		}
		if(el.indexOf(".")!=-1){
			var level_1_name = el.split(".")[0];
			var level_2_name = el.split(".")[1];
			if($$("#adam_navigation .generic_child_page_list li."+level_1_name)[0]){
				$$("#adam_navigation .generic_child_page_list li."+level_1_name)[0].addClassName("open");
				$$("#adam_navigation .generic_child_page_list li."+level_1_name)[0].down("ul").blindDown({duration:blind_duration});
                           if($$("#adam_navigation .generic_child_page_list li."+level_1_name+" li."+level_2_name)[0]){
                                   $$("#adam_navigation .generic_child_page_list li."+level_1_name+" li."+level_2_name)[0].addClassName("sel")
								   }


			}
		var c_cid = $$("#adam_navigation .generic_child_page_list li."+level_1_name+" li."+level_2_name+" a")[0].className;
		var anchor_el = $$("#adam_navigation .generic_child_page_list li."+level_1_name+" li."+level_2_name+" a")[0];
		}else{
			if($$("#adam_navigation .generic_child_page_list li."+el)[0]){
				$$("#adam_navigation .generic_child_page_list li."+el)[0].addClassName("sel").addClassName("open");
				$$("#adam_navigation .generic_child_page_list li."+el)[0].down("ul").blindDown({duration:blind_duration});
			}
		var c_cid = $$("#adam_navigation .generic_child_page_list li."+el+" a")[0].className;
		var anchor_el = $$("#adam_navigation .generic_child_page_list li."+el+" a")[0];
		}
		var this_cid = c_cid.split("-")[1];
		//var anchor_el = $$("#adam_navigation .generic_child_page_list li a.eHA_Content_C-"+this_cid)[0];
	}else{
		el = $(el);
		//el.up("li").siblings().invoke("removeClassName","sel");
		el.up("li").siblings().each(function(element){
			$(element).removeClassName("sel");
			if($(element).down("ul")){
				$(element).down("ul").hide();
				$(element).removeClassName("open");
			}
		});
		if(el.up("li").up("li")){
			el.up("li").up("li").removeClassName("sel");
			el.up("li").up("li").siblings().each(function(element){
				$(element).removeClassName("sel");
			});
		}else{
			el.next("ul").childElements().invoke("removeClassName","sel");
		}
		el.up("li").addClassName("sel");
		if(el.next("ul")){
			el.up("li").addClassName("open");
			el.next("ul").blindDown({duration:blind_duration});
		}
		var c_cid = el.className;
		var this_cid = c_cid.split("-")[1];
		var tabFolder = "";
		if($$("#content_navigation .generic_child_page_list .sel a")[0]){
			tabFolder = clean_anchor_text($$("#content_navigation .generic_child_page_list .sel a")[0]);
		}
		if(el.up("li").up("li")){
			var level_1 = el.up("li").up("li").down("a");
			clientHash.update("#/" + clean_anchor_text(level_1) + "/" + clean_anchor_text(el).replace(/'/g, "_").replace(/\"/g, "_").replace(/-/g, "_").replace(/:/g, "_").replace(/,/g, "_").replace(/\(/g, "_").replace(/\(/g, "_"),"nav");

		}else{
			clientHash.update("#/" + clean_anchor_text(el),"nav");
		}
		var anchor_el = el;
	}
	if((json_bool && el.indexOf(".")!=-1) || (anchor_el.up("ul").previous("a"))){
		if(json_bool && el.indexOf(".")!=-1){
			// this is loading from hash.  must first add child to breadcrumbs
			ADAM_update_breadcrumbs(anchor_el.up("ul").previous("a"),"child");
			ADAM_update_breadcrumbs(anchor_el,"grandchild");
		}else{
			ADAM_update_breadcrumbs(anchor_el,"grandchild");
		}
	}else{
		ADAM_update_breadcrumbs(anchor_el,"child");
	}
	var url = SubTemplate_ADAM_content+"&cid="+this_cid;
    SubTemplate_ADAM_Listing = SubTemplate_ADAM_Listing_1 +"&cid="+this_cid + "&pagecid="+this_cid;
	var childhref = anchor_el.href;
	var hash_bool = json_bool;
	if(anchor_el.down("span")){
		var childtitle = anchor_el.down("span").innerHTML;
	}else{
		var childtitle = anchor_el.innerHTML;
	}

	new Ajax.Request(url, {
		method: 'get',
		onCreate: function(){
			if($$("#content_body")[0]){
				$$("#content_body")[0].update(ADAM_AJAX_gif);
			}
		},
		onSuccess: function(transport){
			if(transport.responseText){
				$$("#content_body")[0].update(transport.responseText);
				page_toolbar();
				//update category_title_header
				var anchor_tag = new Element('a',{'href':childhref}).update("<strong>" + childtitle + "</strong>");
				if($$("#content_main h2.category_title_header")[0]){
					$$("#content_main h2.category_title_header")[0].update(anchor_tag);
				}
				//update head_title
				if($$("#head_title")[0]){
					window.document.title = childtitle + " - " + window.document.title.split(" - ")[1] + " - " + window.document.title.split(" - ")[2];
				}
				if(json_bool == true){
					ADAM_alphabet_link_events(true);
				} else {
					ADAM_alphabet_link_events(false);
				}
				ADAM_load_content_sub(this_cid);
			}
		},
		onComplete: function(transport){
			if(json_bool === undefined){
				if($$(".alphabetical_list li .A")){
					$$(".alphabetical_list li .A").each(function(element){
						clientHash.update("A"+clientHash.value().substring("2"),"nav");
					});
				}
			}
		},
		onFailure: function(){}
	});
}


function ADAM_load_content_sub(this_cid){
	var url = SubTemplate_ADAM_content_sub+"&cid="+this_cid;
	new Ajax.Request(url, {
		method: 'get',
		onCreate: function(){
			if($$("#content_main .content_sub")[0]){
				$$("#content_main .content_sub")[0].update(ADAM_AJAX_gif);
			}
		},
		onSuccess: function(transport){
			if(transport.responseText){
				$$("#content_main .content_sub")[0].update(transport.responseText);
			}
		},
		onComplete: function(){
			actionToolbar();
		},
		onFailure: function(){}
	});
}


function ADAM_update_breadcrumbs(el,link_type){
	el = $(el);
	if(link_type==="child"){
		// changing child-level link in breadcrumbs
		if($$("#bread_crumbs ul li.child")[0]){
			// found a child-level link, remove everything after it and change it's anchor tag
			while($$("#bread_crumbs ul li.child")[0].next()){
				$$("#bread_crumbs ul li.child")[0].next().remove();
			}
			if(el.down("span")){
				var anchor_tag = new Element('a',{'href':el.href}).update(el.down("span").innerHTML);
			}else{
				var anchor_tag = new Element('a',{'href':el.href}).update(el.innerHTML);
			}
			$$("#bread_crumbs ul li.child")[0].update(anchor_tag).addClassName("sel").addClassName("last");
		}else{
			// didn't find a child-level link.  add child-level LI and link, remove "last" and "sel" classes from last LI
			if(el.down("span")){
				var anchor_tag = new Element('a',{'href':el.href}).update(el.down("span").innerHTML);
			}else{
				var anchor_tag = new Element('a',{'href':el.href}).update(el.innerHTML);
			}

			/* the next line doesn't work in IE */
			//var list_item = new Element('li',{className:'sel last child'}).update(anchor_tag);
			var list_item = new Element('li').update(anchor_tag);
			list_item.addClassName("sel");
			list_item.addClassName("last");
			list_item.addClassName("child");

			$$("#bread_crumbs ul li.last")[0].removeClassName("last").removeClassName("sel").insert({'after':list_item});
		}
	}
	if(link_type==="grandchild"){
		// changing grandchild-level link in breadcrumbs
		if($$("#bread_crumbs ul li.grandchild")[0]){
			if(!$$("#bread_crumbs ul li.grandchild")[0].hasClassName('last')){
				($$("#bread_crumbs ul li.last")[0].remove());
				document.title = el.innerHTML+' - Northwestern Memorial Hospital - Chicago';
			}

			// found a grandchild-level link, change it's anchor tag
			if(el.down("span")){
				var anchor_tag = new Element('a',{'href':el.href}).update(el.down("span").innerHTML);
			}else{
				var anchor_tag = new Element('a',{'href':el.href}).update(el.innerHTML);
			}
			$$("#bread_crumbs ul li.grandchild")[0].update(anchor_tag);
		}else{
			// didn't find a grandchild-level link.  add grandchild-level LI and link, remove "last" and "sel" classes from last LI
			if(el.down("span")){
				var anchor_tag = new Element('a',{'href':el.href}).update(el.down("span").innerHTML);
			}else{
				var anchor_tag = new Element('a',{'href':el.href}).update(el.innerHTML);
			}
			//var list_item = new Element('li',{className:'sel last grandchild'}).update(anchor_tag);
			var list_item = new Element('li').update(anchor_tag);
			list_item.addClassName("sel");
			list_item.addClassName("last");
			list_item.addClassName("grandchild");

			$$("#bread_crumbs ul li.last")[0].removeClassName("last").removeClassName("sel").insert({'after':list_item});
		}
	}
	//initiatejBreadCrumbs();
}



function ADAM_load_adam_child(el){
	var c_cid = el.className;
	var this_cid = c_cid.split("-")[1];
	var url = SubTemplate_ADAM_child_content+"&cid="+this_cid;
	var childhref = el.href;
	if(el.down("span")){
		var childtitle = el.down("span").innerHTML;
	}else{
		var childtitle = el.innerHTML;
	}
	new Ajax.Request(url, {
		method: 'get',
		onCreate: function(){
			if($$("#content_body")[0]){
				$$("#content_body")[0].update(ADAM_AJAX_gif);
			}
		},
		onComplete: function(transport,el){
			if(transport.responseText){
				$$("#content_body")[0].update(transport.responseText);
				page_toolbar();
				ADAM_load_content_sub(this_cid);
				//update category_title_headerv
				var anchor_tag = new Element('a',{'href':childhref}).update("<strong>" + childtitle + "</strong>");
				if($$("#content_main h2.category_title_header")[0]){
					$$("#content_main h2.category_title_header")[0].update(anchor_tag);
				}

				//update head_title
				if($$("#head_title")[0]){
					window.document.title = childtitle + " - " + window.document.title.split(" - ")[1] + " - " + window.document.title.split(" - ")[2];
				}
				if(ADAM_Keywords != 'undefined' && ADAM_Keywords != null){
					for(var meta_num=0; meta_num<document.getElementsByTagName("meta").length; meta_num++){
						if(document.getElementsByTagName("meta")[meta_num].name == "keywords"){
							document.getElementsByTagName("meta")[meta_num].content = ADAM_Keywords;
							break;
						}
					}
				}	
				ADAM_popupEvents();
			}
		},
		onFailure: function(){}
	});
}

function Reload_Content(SubTemplate_content){
	var url = SubTemplate_content;
	new Ajax.Request(url, {
		method: 'get',
		onCreate: function(){
			if($$("#content_body")[0]){
				$$("#content_body")[0].update(ADAM_AJAX_gif);
			}
		},
		onComplete: function(transport){
			if(transport.responseText){
				$$("#content_body")[0].update(transport.responseText);
				page_toolbar();
			}
		},
		onFailure: function(){}
	});
}

function Reload_Page_General_Body(SubTemplate_content, general_body_class){
	var url = SubTemplate_content;
	var general_body_classname = general_body_class
	//$$("#content_body h1.page_title").innerHTML = "";
	new Ajax.Request(url, {
		method: 'get',
		onCreate: function(){
			if($$("div.visual")[0]){
				$$("div.visual")[0].update("");
			}
			if($$("div.references")[0]){
				$$("div.references")[0].update("");
			}
			if($$("div.reviewDate")[0]){
				$$("div.reviewDate")[0].update("");
			}

			if($$("div.reviewedBy")[0]){
				$$("div.reviewedBy")[0].update("");
			}
			if($$("div.adam_info")[0]){
				$$("div.adam_info")[0].update("");
			}
			if($$("div.adam_info_bottom")[0]){
				$$("div.adam_info_bottom")[0].update("");
			}
			if($$("div." + general_body_classname)[0]){
				$$("div." + general_body_classname)[0].update(ADAM_AJAX_gif);
			}
		},
		onComplete: function(transport){
			if(transport.responseText){
				$$("div." + general_body_classname)[0].update(transport.responseText);
				//page_toolbar();
			}
		},
		onFailure: function(){}
	});

}


function getElementsByClass( searchClass, domNode, tagName) {
	if (domNode == null) domNode = document;
	if (tagName == null) tagName = '*';
	var el = new Array();
	var tags = domNode.getElementsByTagName(tagName);
	var tcl = " "+searchClass+" ";
	for(i=0,j=0; i<tags.length; i++) {
		var test = " " + tags[i].className + " ";
		if (test.indexOf(tcl) != -1)
			el[j++] = tags[i];
	}
	return el;
}

function showAllDatesListing(rowid, batchNumber) {
 	$('showAdditional_'+batchNumber+'_'+ rowid).hide()
 	var batchNumberPlusOne = batchNumber + 1
 	if($('showAdditional_'+batchNumberPlusOne+'_'+ rowid)){
 		$('showAdditional_'+batchNumberPlusOne+'_'+ rowid).show()
 	}
 	var elements = $$('#content_body #classes_and_events_list tr[id^="row_'+rowid+'_'+batchNumber+'_"]');
 	elements.each(function(e) {
 		$(e).show();
 	});

}

function page_toolbar(){
	if($$(".page_toolbar_text a")[0]){
		$$(".page_toolbar_text a").each(function(element){
			element.onclick = function(){
				toggle_text_size();
				return false;
			}
		});
	}
	
	if($$(".page_toolbar_print a")[0]){
		$$(".page_toolbar_print a").each(function(element){
			element.onclick = function(){
				window.print();
				return false;
			}
		});
	}

	if($$(".page_toolbar_bookmark a")[0]){
		$$(".page_toolbar_bookmark a").each(function(element){
			element.onclick = function(){
				var thisURL = document.location.href;
				var thisTitle = document.title;
				bookmarkPage(thisURL,thisTitle);
				return false;
			}
		});
	}
	
	if($$(".page_toolbar_sharethis a")[0]){
		page_toolbar_sharethis();
	}
	
	// checks parent of first page_toolbar for height
	// hides second page_toolbar if height less than 800
	if($$(".page_toolbar")[0]){
		var parent_height = $$(".page_toolbar")[0].up().offsetHeight;
		if(parent_height<800){
			if($$(".page_toolbar")[1]){
				$$(".page_toolbar")[1].hide();
			}
		}
	}
}

function page_toolbar_sharethis(){
	var thisURL = Fully_Qualified_URL();
	//console.log("thisURL encoded is "+encode_utf8(thisURL));
	if($$(".page_toolbar_sharethis a")[0]){
		$$(".page_toolbar_sharethis a").each(function(element){
			var object1 = SHARETHIS.addEntry(
				{
					title:encode_utf8(document.title),
					url:encode_utf8(thisURL)
				},{
					button:false,
					embeds:true
				}
			);
			if($(element).visible()){
				object1.attachButton(element);
				SHARETHIS.onReady();
			}
		});
	}
}




// ### alphabetical_list do not copy these this's for design purpose ONLY ####//
/*
function addSelection(liElement){
						var thisEl = $(liElement);
						thisEl.toggleClassName("sel");	
	}

			
function alphabetical_list(){ 
	if($$('#alphabetical_list ul li')){
		$$('#alphabetical_list ul li').each(function(element){
				element.onclick = function(){
							addSelection(this);
							return false;
				};
		});
	}
}

addLoadEvent(alphabetical_list);
*/




