
if(typeof dd_domreadycheck=="undefined")
var dd_domreadycheck=false

var anylinkmenu={
	menusmap:{},
	preloadimages:[],
	effects:{
		delayhide:200,
		shadow:{
			enabled:false,
			opacity:0.3,
			depth:[5,5]
		},
		fade:{
			enabled:true,
			duration:500
		}
	},
	
	dimensions:{},
	
	getoffset:function(what,offsettype){
		return(what.offsetParent)?what[offsettype]+this.getoffset(what.offsetParent,offsettype):what[offsettype]
	},
	
	getoffsetof:function(el){
		el._offsets={left:this.getoffset(el,"offsetLeft"),top:this.getoffset(el,"offsetTop"),h:el.offsetHeight}
	},
	
	getdimensions:function(menu){
		this.dimensions={
			anchorw:menu.anchorobj.offsetWidth,
			anchorh:menu.anchorobj.offsetHeight,
			docwidth:(window.innerWidth||this.standardbody.clientWidth)-20,
			docheight:(window.innerHeight||this.standardbody.clientHeight)-15,
			docscrollx:window.pageXOffset||this.standardbody.scrollLeft,
			docscrolly:window.pageYOffset||this.standardbody.scrollTop
		}
		if(!this.dimensions.dropmenuw){
			this.dimensions.dropmenuw=menu.dropmenu.offsetWidth
			this.dimensions.dropmenuh=menu.dropmenu.offsetHeigh
		}
	},
	
	isContained:function(m,e){var e=window.event||e
	var c=e.relatedTarget||((e.type=="mouseover")?e.fromElement:e.toElement)
	
	while(c&&c!=m)try{c=c.parentNode}catch(e){c=m}

	if(c==m)
		return true
	else
		return false
	},
	
	setopacity:function(el,value){
	
		el.style.opacity=value
		if(typeof el.style.opacity!="string"){
		
			el.style.MozOpacity=value
			if(el.filters){
				el.style.filter="progid:DXImageTransform.Microsoft.alpha(opacity="+value*100+")"
			}
		}
	},
	
	
	showmenu:function(menuid){
		
		var menu=anylinkmenu.menusmap[menuid]
		clearTimeout(menu.hidetimer)	
		this.getoffsetof(menu.anchorobj)
		this.getdimensions(menu)
		var posx=menu.anchorobj._offsets.left+(menu.orientation=="lr"?this.dimensions.anchorw:0)
		var posy=menu.anchorobj._offsets.top+this.dimensions.anchorh-(menu.orientation=="lr"?this.dimensions.anchorh:0)
		if(posx+this.dimensions.dropmenuw+this.effects.shadow.depth[0]>this.dimensions.docscrollx+this.dimensions.docwidth){
			posx=posx-this.dimensions.dropmenuw+(menu.orientation=="lr"?-this.dimensions.anchorw:this.dimensions.anchorw)
		}
		
		
		if(posy+this.dimensions.dropmenuh>this.dimensions.docscrolly+this.dimensions.docheight){
			posy=Math.max(posy-this.dimensions.dropmenuh-(menu.orientation=="lr"?-this.dimensions.anchorh:this.dimensions.anchorh),this.dimensions.docscrolly)
			}
			
			
	if(this.effects.fade.enabled){
		this.setopacity(menu.dropmenu,0)
	if(this.effects.shadow.enabled)
		this.setopacity(menu.shadow,0)
	}

	menu.dropmenu.setcss({left:posx+'px',top:posy+'px',visibility:'visible'})

	if(this.effects.shadow.enabled){
		menu.shadow.setcss({left:posx+anylinkmenu.effects.shadow.depth[0]+'px',top:posy+anylinkmenu.effects.shadow.depth[1]+'px',visibility:'visible'})
	}
	
	if(this.effects.fade.enabled){
		clearInterval(menu.animatetimer)
		menu.curanimatedegree=0
		menu.starttime=new Date().getTime()
		menu.animatetimer=setInterval(function(){anylinkmenu.revealmenu(menuid)},20)
	}
	
	},
	
	revealmenu:function(menuid){
		var menu=anylinkmenu.menusmap[menuid]
		var elapsed=new Date().getTime()-menu.starttime
		if(elapsed<this.effects.fade.duration){
			this.setopacity(menu.dropmenu,menu.curanimatedegree)
			if(this.effects.shadow.enabled)
				this.setopacity(menu.shadow,menu.curanimatedegree*this.effects.shadow.opacity)
		}
		else{
			clearInterval(menu.animatetimer)
			this.setopacity(menu.dropmenu,1)
			menu.dropmenu.style.filter=""
		}
		
		menu.curanimatedegree=(1-Math.cos((elapsed/this.effects.fade.duration)*Math.PI))/2
	},
	
	setcss:function(param){
		for(prop in param){this.style[prop]=param[prop]}
	
	},
	
	setcssclass:function(el,targetclass,action){
		var needle=new RegExp("(^|\\s+)"+targetclass+"($|\\s+)","ig")
		if(action=="check")
			return needle.test(el.className)
		else if(action=="remove")
			el.className=el.className.replace(needle,"")
		else if(action=="add"&&!needle.test(el.className))
			el.className+=" "+targetclass
	},
	
	hidemenu:function(menuid){
		var menu=anylinkmenu.menusmap[menuid]
		clearInterval(menu.animatetimer)
		menu.dropmenu.setcss({visibility:'hidden',left:0,top:0})
		menu.shadow.setcss({visibility:'hidden',left:0,top:0})
	},
	
	getElementsByClass:function(targetclass){
		if(document.querySelectorAll)
			return document.querySelectorAll("."+targetclass)
		else{
			var classnameRE=new RegExp("(^|\\s+)"+targetclass+"($|\\s+)","i")
			var pieces=[]
			var alltags=document.all?document.all:document.getElementsByTagName("*")
			for(var i=0;i<alltags.length;i++){
				if(typeof alltags[i].className=="string"&&alltags[i].className.search(classnameRE)!=-1)
				pieces[pieces.length]=alltags[i]
			}
			
			return pieces
		}
	},
	
	addDiv:function(divid,divclass,inlinestyle){
		var el=document.createElement("div")
		if(divid)
			el.id=divid
		el.className=divclass
		if(inlinestyle!=""&&typeof el.style.cssText=="string")
			el.style.cssText=inlinestyle
		else if(inlinestyle!="")
			el.setAttribute('style',inlinestyle)
		document.body.appendChild(el)
		return el
	},
	
	getmenuHTML:function(menuobj){
		var menucontent=[]
		var frag=""
		for(var i=0;i<menuobj.items.length;i++){
			frag+='<li><a href="'+menuobj.items[i][1]+'" target="'+menuobj.linktarget+'">'+menuobj.items[i][0]+'</a></li>\n'
			if(menuobj.items[i][2]=="efc"||i==menuobj.items.length-1){
				menucontent.push(frag)
				frag=""
			}
		}
		
		if(typeof menuobj.cols=="undefined")
			return'<ul>\n'+menucontent.join('')+'\n</ul>'
		else{frag=""
			for(var i=0;i<menucontent.length;i++){
				frag+='<div class="'+menuobj.cols.divclass+'" style="'+menuobj.cols.inlinestyle+'">\n<ul>\n'+menucontent[i]+'</ul>\n</div>\n'
			}
		
			return frag
		}
	},
	
	addEvent:function(targetarr,functionref,tasktype){
		if(targetarr.length>0){
			var target=targetarr.shift()
		if(target.addEventListener)
			target.addEventListener(tasktype,functionref,false)
		else if(target.attachEvent)
			target.attachEvent('on'+tasktype,function(){return functionref.call(target,window.event)})
		this.addEvent(targetarr,functionref,tasktype)}
	},
	
	domready:function(functionref){
	if(dd_domreadycheck){
		functionref()
		return
	}
	
	if(document.addEventListener){
		document.addEventListener("DOMContentLoaded",function(){document.removeEventListener("DOMContentLoaded",arguments.callee,false)
functionref();dd_domreadycheck=true},false)
	}
	
	else if(document.attachEvent){
		if(document.documentElement.doScroll&&window==window.top)(function(){if(dd_domreadycheck)return
try{document.documentElement.doScroll("left")}catch(error){setTimeout(arguments.callee,0)
return;}
		functionref();dd_domreadycheck=true})();
	}
		if(document.attachEvent&&parent.length>0)
			this.addEvent(window,function(){functionref()},"load");
	},
		
	addState:function(anchorobj,state){
		if(anchorobj.getAttribute('data-image')){
			var imgobj=(anchorobj.tagName=="IMG")?anchorobj:anchorobj.getElementsByTagName('img')[0]
			if(imgobj){
				imgobj.src=(state=="add")?anchorobj.getAttribute('data-overimage'):anchorobj.getAttribute('data-image')
			}
		}
		else
			anylinkmenu.setcssclass(anchorobj,"selectedanchor",state)
	},
	
	addState:function(anchorobj,state){
		if(anchorobj.getAttribute('data-image')){
			var imgobj=(anchorobj.tagName=="IMG")?anchorobj:anchorobj.getElementsByTagName('img')[0]
			if(imgobj){
				imgobj.src=(state=="add")?anchorobj.getAttribute('data-overimage'):anchorobj.getAttribute('data-image')
			}
		}
		else
			anylinkmenu.setcssclass(anchorobj,"selectedanchor",state)
	},
		
	setupmenu:function(targetclass,anchorobj,pos){
		this.standardbody=(document.compatMode=="CSS1Compat")?document.documentElement:document.body
		var relattr=anchorobj.getAttribute("rel")
		dropmenuid=relattr.replace(/\[(\w+)\]/,'')
		var dropmenuvar=window[dropmenuid]
		var dropmenu=this.addDiv(null,dropmenuvar.divclass,dropmenuvar.inlinestyle)
		dropmenu.innerHTML=this.getmenuHTML(dropmenuvar)
		var menu=this.menusmap[targetclass+pos]={
			id:targetclass+pos,
			anchorobj:anchorobj,
			dropmenu:dropmenu,
			revealtype:(relattr.length!=dropmenuid.length&&RegExp.$1=="click")?"click":"mouseover",
			orientation:anchorobj.getAttribute("rev")=="lr"?"lr":"ud",
			shadow:this.addDiv(null,"anylinkshadow",null)
		}

		menu.anchorobj._internalID=targetclass+pos
		menu.anchorobj._isanchor=true
		menu.dropmenu._internalID=targetclass+pos
		menu.shadow._internalID=targetclass+pos
		menu.dropmenu.setcss=this.setcss
		menu.shadow.setcss=this.setcss
		menu.shadow.setcss({width:menu.dropmenu.offsetWidth+"px",height:menu.dropmenu.offsetHeight+"px"})
		this.setopacity(menu.shadow,this.effects.shadow.opacity)
		this.addEvent([menu.anchorobj,menu.dropmenu,menu.shadow],function(e){
			var menu=anylinkmenu.menusmap[this._internalID]
			if(this._isanchor&&menu.revealtype=="mouseover"&&!anylinkmenu.isContained(this,e)){
				anylinkmenu.showmenu(menu.id)
				anylinkmenu.addState(this,"add")
			}
			else if(typeof this._isanchor=="undefined"){clearTimeout(menu.hidetimer)}
			},"mouseover")
		
		this.addEvent([menu.anchorobj,menu.dropmenu,menu.shadow],function(e){
			if(!anylinkmenu.isContained(this,e)){
				var menu=anylinkmenu.menusmap[this._internalID]
				menu.hidetimer=setTimeout(function(){
					anylinkmenu.addState(menu.anchorobj,"remove")
					anylinkmenu.hidemenu(menu.id)
				},
				anylinkmenu.effects.delayhide)
			}
		},"mouseout")
		
		this.addEvent([menu.anchorobj,menu.dropmenu],function(e){var menu=anylinkmenu.menusmap[this._internalID]
		if(this._isanchor&&menu.revealtype=="click"){
			if(menu.dropmenu.style.visibility=="visible")
				anylinkmenu.hidemenu(menu.id)
			else{anylinkmenu.addState(this,"add")
				anylinkmenu.showmenu(menu.id)}
			if(e.preventDefault)
				e.preventDefault()
			return false
		}
		else
			menu.hidetimer=setTimeout(function(){anylinkmenu.hidemenu(menu.id)},anylinkmenu.effects.delayhide)},"click")
	},
	
init:function(targetclass){
	this.domready(function(){	
		anylinkmenu.trueinit(targetclass)
	})
},

trueinit:function(targetclass){
	var anchors=this.getElementsByClass(targetclass)
	var preloadimages=this.preloadimages
	for(var i=0;i<anchors.length;i++){
		if(anchors[i].getAttribute('data-image')){
			preloadimages[preloadimages.length]=new Image()
			preloadimages[preloadimages.length-1].src=anchors[i].getAttribute('data-image')
		}
		if(anchors[i].getAttribute('data-overimage')){
			preloadimages[preloadimages.length]=new Image()
			preloadimages[preloadimages.length-1].src=anchors[i].getAttribute('data-overimage')
		}
		this.setupmenu(targetclass,anchors[i],i)
	}
}
}

var resources={divclass:'anylinkmenucols', inlinestyle:'width:200', linktarget:''}
resources.cols={divclass:'column', inlinestyle:'width:93%'}
resources.items=[["> Medical Terminology","/Resources/Medical_Terms"],["> Knee Health Sites","/Resources/Reference_Library#Knee_Health_Sites"],["> Other Orthopedic Sites","/Resources/Reference_Library#Other_Orthopedic_Sites"],["> General Health Resources","/Resources/Reference_Library#General_Health_Resources"],["> Knee Blogs","/Resources/Reference_Library#Knee_Blogs"],["> Orthopedic Stores Online","/Resources/Reference_Library#Orthopedic_Stores_Online"],["> Books","/Resources/Reference_Library#Books"]]

var news={divclass:'anylinkmenucols',inlinestyle:'width:155',linktarget:''}
news.cols={divclass:'column',inlinestyle:'width:93%'}
news.items=[["> Breaking News","/News/Breaking_News"],["> Feature Stories","/News/Feature_Story"]]

var clinicaltrials={divclass:'anylinkmenucols',inlinestyle:'width:230',linktarget:''}
clinicaltrials.cols={divclass:'column',inlinestyle:'width:93%'}
clinicaltrials.items=[["> Leading Sports Medicine Journals","/Research/Research_Journals"],["> Breaking Research News","/Research/Research_News"], ["> Clinical Trials","/Clinical_Trials"]]

var expertadvice={divclass:'anylinkmenucols',inlinestyle:'width:150',linktarget:''}
expertadvice.cols={divclass:'column',inlinestyle:'width:93%'}
expertadvice.items=[["> Expert Answers","/Expert_Advice/Ask_an_Expert"],["> FAQs","/Expert_Advice/FAQs"],["> Ask a Question","/Expert_Advice/Ask_a_Question"]]

var physicianfinder={divclass:'anylinkmenucols',inlinestyle:'width:170',linktarget:''}
physicianfinder.cols={divclass:'column',inlinestyle:'width:93%'}
physicianfinder.items=[["> Physician Finder","/Physician_Finder"],["> Knee1 Heroes","/Hero"]]

var chroniccare={divclass:'anylinkmenucols',inlinestyle:'width:170',linktarget:''}
chroniccare.cols={divclass:'column',inlinestyle:'width:93%'}
chroniccare.items=[["> Knee Pain","/Chronic_Care#kneepain"],["> Osteoarthritis","/Chronic_Care#osteo"],["> Rheumatoid Arthritis","/Chronic_Care#rheu"],["> Physician Finder","/Chronic_Care#finder"],["> Knee Care","/Chronic_Care#jointcare"],["> Knee Replacement","/Chronic_Care#replacement"]]

var sportscare={divclass:'anylinkmenucols',inlinestyle:'width:170',linktarget:''}
sportscare.cols={divclass:'column',inlinestyle:'width:93%'}
sportscare.items=[["> Baseball and Softball","/Sports_Care/Baseball_and_Softball"],["> Basketball","/Sports_Care/Basketball"],["> Cycling","/Sports_Care/Cycling"],["> Dance","/Sports_Care/Dance"],["> Football","/Sports_Care/Football"],["> Gymnastics","/Sports_Care/Gymnastics"],["> Ice Hockey","/Sports_Care/Ice_Hockey"],["> Lacrosse","/Sports_Care/Lacrosse"],["> Martial Arts","/Sports_Care/Martial_Arts"],["> Running","/Sports_Care/Running"],["> Soccer","/Sports_Care/Soccer"],["> Swimming","/Sports_Care/Swimming"],["> Tennis","/Sports_Care/Tennis"],["> Volleyball","/Sports_Care/Volleyball"]]

var caretools={divclass:'anylinkmenucols',inlinestyle:'width:200',linktarget:''}
caretools.cols={divclass:'column',inlinestyle:'width:93%'}
caretools.items=[["> Fitness Center","/Care_Tools/Fitness_Center"],["> Preparing for Surgery","/Care_Tools/Preparing_for_Surgery"],["> Advanced BMI Calculator", "/Care_Tools/calculators/Advanced_BMI"],["> Depression Screener","/Care_Tools/Depression_Screener"], ["> Survey","/Survey"], ["> Clinical Trial Finder","/Clinical_Trials"]]

//var caretools={divclass:'anylinkmenucols',inlinestyle:'width:200',linktarget:''}
//caretools.cols={divclass:'column',inlinestyle:'width:93%'}
//caretools.items=[["> Fitness Center","/Care_Tools/Fitness_Center"],["> Preparing for Surgery","/Care_Tools/Preparing_for_Surgery"],["> Symptom //Checker","javascript:popup('/CareTools/symptoms/symptoms10.cfm',500,450)"],["> Advanced BMI Calculator", "/Care_Tools/calculators/Advanced_BMI"],["> Depression //Screener","/Care_Tools/Depression_Screener"], ["> Survey","/Survey"], ["> Clinical Trials","/Clinical_Trials"]]

//["> Symptom Checker","javascript:popup('/CareTools/symptoms/symptoms10.cfm',500,450)"],

var community={divclass:'anylinkmenucols',inlinestyle:'width:180px;',linktarget:''}
community.cols={divclass:'column',inlinestyle:'width:93%'}
//community.items=[["<font size=2><b>Forums</b></font><br><img src='/images/forum-image4.jpg' border=0 width=133><br>Forums are a section where you can hold short discussions on specific topics.","/Forum","efc"],["<font size=2><b>Blogs</b></font><br><img src='/images/blog-image2.jpg' border=0 width=133><br>You can post updates on your personal health condition, information on treatments or research that interests you.","/Blogs"]]
community.items=[
	
	   ["> Sign up", "/Register"],
	["> Log in", "/Login"],
    ["> Forum", "/Forum"],
	["&nbsp;&nbsp;&nbsp;> Create a Topic", "javascript:window.open('/forum/createtopic.cfm?postaction=new','Create a Topic','width=660,height=550'); void(0);"],
	["> Blogs", "/Blogs"],
	["&nbsp;&nbsp;&nbsp;> Create Your Blog", "/blogs/blog/createblog.cfm"]
	]

var multimedia={divclass:'',inlinestyle:'',linktarget:''}
multimedia.items=[]

var educationcenter={divclass:'anylinkmenucols',inlinestyle:'width:150',linktarget:''}
educationcenter.cols={divclass:'column',inlinestyle:'width:93%'}
educationcenter.items=[["> Conditions","/Education_Center/Conditions"],["> Diagnostics","/Education_Center/Diagnostics"],["> Therapies","/Education_Center/Therapies"],["> Knee Anatomy","/Education_Center/Knee_Anatomy"],["> Expert Advice","/Expert_Advice"]]

var homepage={divclass:'',inlinestyle:'',linktarget:''}
homepage.items=[]