/******************************
Highlight v2.0
by Derrick Gall
	Used to apply over/active states to images/anchors and also supports rollovers on images/image inputs.
Minified with YUI Compressor & Ant
******************************/

var highlightOptions = {
	disableActiveLink: false,
	disableActiveHover: true,
	activeImages: [],
	excludedLinks: {},
	includedLinks: {'/Webcasts-Podcasts/': ['/Resources/$'], '/White-Papers/': ['/Resources/$'], '/Our-Work/': ['/Get-Started/$']},
	activeClass: 'active',
	preloadImages: true,
	highlightHome: true
};

function highlight(G){var C=0,H="",F="",w="",e=null,E=null,h=0,K=location.protocol+"//"+location.host,a=K.length,m=null,r=[],q=0,A=0,u=null,s=null,D=0,d=null,z=[],B=0,t=null,c=null,p=0,b=function(){},J=false,I=false,y=0,x=0,g="",v="",n=[],l="",f=location.href;b=function(L){var k=this,M=0,i="",j="";this.src=L.src;this.state="";M=this.src.lastIndexOf(".");i=this.src.substring(0,M);j=this.src.substring(M,this.src.length);this.overStateImage=i+"-o"+j;this.activeStateImage=i+"-a"+j;this.switchTo=function(N){switch(N){case"over":k.src=k.overStateImage;break;case"active":k.src=k.activeStateImage;break}k.state=N};this.updateElement=function(N){L.src=k.src;if(N){L.className=L.className.replace(/(^| )?over( |$)/gi,"")}};this.initRollover=function(){var O=k.overStateImage,P=null,Q=k.src,N=null;if(k.state==="active"&&G.disableActiveHover){return false}if(k.src!=="blank.gif"){if(G.preloadImages){P=new Image();P.src=O;n.push(P)}N=$(L);if(N.is("img")){N=N.parent()}N.bind("mouseover focus",function(){L.src=O}).bind("mouseout blur",function(){L.src=Q})}}};function o(M){var L=0,N=null,k=M.getElementsByTagName("img"),j=[];if(k&&k.length){for(L=0;L<k.length;L++){N=k[L];if(N.className.match(/(^| )over( |$)/gi)){j.push(new b(N))}}}return j}G=$.extend({disableActiveLink:false,disableActiveHover:false,activeImages:[],excludedLinks:null,includedLinks:null,activeClass:"current",preloadImages:true},G);C=G.activeImages.length;v=f.replace(/[^:]*:\/\/[^\/]*(.*)/gi,"$1");E=document.getElementsByTagName("a");h=E.length;if(f.indexOf("previewsite.do")>-1||f.indexOf("JSPeditPageContent.do")>-1){if(FSFilename==="index"){g="/"+FSPageGroup+"/"}else{g="/"+FSFilename+".shtml";if(FSPageGroup){g="/"+FSPageGroup+g}}l="/"+FSPageGroup+"/"}else{g=v;l=v.match(/^(\/[^\/]+\/)/gi);if(l){l=l[0]}}if(G.includedLinks!==null){for(d in G.includedLinks){if(d&&g.match(new RegExp(d,"gi"))){z=G.includedLinks[d]}}}B=z.length;for(A=0;A<h;A++){e=E[A];F=e.href;w="";if(F.indexOf(K)>-1){w=F.substring(a,F.length);I=false;J=false;if(G.excludedLinks!==null){for(m in G.excludedLinks){if(w.match(new RegExp(m,"gi"))){if(!G.excludedLinks[m]){J=true;break}else{if(G.excludedLinks[m]===true&&!g.match(m)){J=true;break}else{r=G.excludedLinks[m];if(r[0]){q=r.length;for(y=0;y<q;y++){if(g.match(new RegExp(r[y],"gi"))){J=true;break}}}}}}}}if(g==="/"&&w==="/"&&!G.highlightHome){J=true}s=o(e);D=s.length;if(!J){for(y=0;y<B;y++){if(w.match(new RegExp(z[y],"gi"))){I=true;break}}if(w===l&&l||w===g||I){e.className+=" "+G.activeClass;if(G.disableActiveLink){e.removeAttribute("href")}if(D){for(y=0;y<D;y++){u=s[y];for(x=0;x<C;x++){H=G.activeImages[x];if(u.src.indexOf(H)>-1){u.switchTo("active");break}}if(u.state!=="active"){u.switchTo("over")}u.updateElement(true)}}}}if(D){for(y=0;y<D;y++){s[y].initRollover()}}}}c=document.getElementsByTagName("input");p=c.length;for(A=0;A<p;A++){t=c[A];if(t.type==="image"&&t.className.match(/(^| )over( |$)/gi)){u=new b(t);u.initRollover()}}}$(function(){highlight(highlightOptions)});
