//v2.2 - added support for "h_always_exlude" class



//active links are not clickable

var disable_active_link = false;

//enable or disable rollovers on active active states

var enable_active_rollover =  false;



/*active states, i.e all buttons that have corresponding (...)-a.*

e.g. if all (n-main-)(...).* have active states: ['n-main-']

only n-main-atty.gif and all (n-feat-)(...).* have active state: ['n-main-atty','n-feat']

none have active states: ['#']*/

var arr_active = ['#'];



//class applied to active text links

var active_class = 'active';



//[['link','scope','scope',(...)],(...)]

var arr_scopes=[

['/CM/Custom/TOCPracticeAreaDescriptions.asp','/PracticeAreas/','/CM/PracticeAreaDescriptions'],

['/CM/Custom/Attorneys.asp','/Bio/','/CM/AttorneyBios/'],

['/','/CM/Custom/Home.asp'],

['/CM/Custom/Contact.asp','/CM/Custom/ThankYou.asp']

];



//use class "h_exclude" to avoid class "active" from being applied to any link

//use class "h_always_exclude" if the link or rollover is always an exception

//[['path to exclude from highlighting','exception','exception',(...)],(...)]

var enable_exception=false;

var arr_scope_exceptions=[

['/CM/Custom/TOCPracticeAreaDescriptions.asp','/PracticeAreas/Social-Security-Disability.asp','/PracticeAreas/Workers-Compensation.asp','/PracticeAreas/Personal-Injury.asp']

];



var at = document.getElementsByTagName('a'), it = document.getElementsByTagName('img'),i=0;

var uc = '~~~~';

//re = new RegExp(/^.+\('([^']+)'.+'\/(.+\/)+(.+)',.\)$/m);

re = new RegExp(/^.+\('([^']+)'.+?'\/([^.]+\/)+(.+?)',/m);



fp = window.location + uc;

rp = fp.replace(/^http:\/\/[^\/]+(\/.*)$/,'$1');

dn = fp.replace(rp,'')+'/';

rf = rp.replace(/^(\/(.+\/)+).+$/,'$1');

fn = rp.replace(rf,'');



fp = fp.replace(uc,'');

rp = rp.replace(uc,'');

fn = fn.replace(uc,'');





//Make '/' something unique

rp=(rp=='/')?uc:rp;

for(i=0;i<arr_scopes.length;i++){

	for(j=0;j<arr_scopes[i].length;j++){

		arr_scopes[i][j] = (arr_scopes[i][j]=='/')?uc:arr_scopes[i][j];

	}

}



for(i=0;i<at.length;i++){	

	at_hr = at[i].getAttribute('href');	

	

	/*if(at[i].className=='h_always_exclude')

		break;*/

	//alert(at[i].className);

	if(at_hr!=null&&at[i].className!='h_always_exclude'){

		

		at_hr=(at_hr==dn)?uc:at_hr;	

		bs = scopes(at_hr);



		if((at_hr.indexOf(rp)>-1&&at_hr.indexOf('#')==-1&&(at_hr.indexOf('?')==-1||fn.indexOf('?')>-1&&at[i].className=='h_qs')||bs)){			



			//at[i].className=(at[i].className!='last')?active_class:active_last_class;

			//alert(at_hr);



			if(!(at[i].className=='h_exclude'&&at_hr.indexOf(rp)==-1))

				at[i].className = (at[i].className!='')?at[i].className + ' ' + active_class:active_class;			



			

			

			

			if(!bs&&disable_active_link)

				at[i].removeAttribute('href');

			

			if(at[i].getAttribute('onmouseover')!=null){

				mo = at[i].getAttribute('onmouseover')+'';

				m = re.exec(mo);

				if(m!=null){

					for(j=0;j<it.length;j++){

						if(it[j].getAttribute('name')==m[1]||it[j].getAttribute('id')==m[1]){

							as=m[3];

							for(k=0;k<arr_active.length;k++){

								if(m[3].indexOf(arr_active[k])>-1){

									as=m[3].replace('-o.','-a.');

									if(!bs&&!enable_active_rollover)

										at[i].onmouseover = new Function(((mo.replace('function anonymous()\n{','')).replace('\n}','')).replace('-o.','-a.')+';');

									break;

								}

							}					

							//alert(bs);

							

							it[j].src = '/Includes/Templates/Active/images/' + as;

						}

		

					}

				}	

			}

			

			

			//support Matt's script

			for(j=0;j<at[i].childNodes.length;j++){

				cn = at[i].childNodes[j];

				if(cn.nodeName.toLowerCase()=='img'){

					if(cn.className.match(/[^\-]\bover\b[^\-]|^over$/i)){

						cn.src = cn.src.replace(/^(.+)\.(.{3})$/,'$1-o.$2');

						

						//handle active states

						for(k=0;k<arr_active.length;k++){

							if(cn.src.indexOf(arr_active[k])>-1){

								cn.src = cn.src.replace('-o.','-a.');

								

								break;	

							}

						}



						cn.className='';

						//alert(bs);

						if(enable_active_rollover&&cn.src.indexOf('-a.')>-1){

							cn.className=' over activeimg';							

						}

					}

				}

			}

		}

	}

}





function scopes(hr){	

	var i=0,j=0;

	//alert('*' + hr + '* - *' + dn + '*');

	mod_fp=(fn=='')?uc:fp;



	//Take care of exceptions first

	if(enable_exception){

		for(i=0;i<arr_scope_exceptions.length;i++){

			if(hr.indexOf(arr_scope_exceptions[i][0])>-1){			

				for(j=1;j<arr_scope_exceptions[i].length;j++){				

					if(mod_fp.indexOf(arr_scope_exceptions[i][j])>-1)

						return false;

				}

			}

		}

	}

	for(i=0;i<arr_scopes.length;i++){

		//Do scopes of current link fit the current file path? 

		if(hr.indexOf(arr_scopes[i][0])>-1){

			for(j=1;j<arr_scopes[i].length;j++){

				//alert(fp + ' - ' + arr_scopes[i][j] + ' - ' + i);

				

				if(mod_fp.indexOf(arr_scopes[i][j])>-1){

					return true;

				}

			}

		}

		

	}

	

	

	return false;

}
