
(function(){if(YAHOO.env.ua.gecko==0){window.console=function(x){};}
YAHOO.namespace('RFE.app');var decodeHTMLEntities=function(str){var ta=document.createElement('textarea');ta.innerHTML=str.replace(/</g,"&lt;").replace(/>/g,"&gt;");return ta.value;};var getElementsByClassName=function(searchClass,node,tag){var classElements=[];if(node==null){node=document;}
if(tag==null){tag='*';}
var els=node.getElementsByTagName(tag);var elsLen=els.length;for(var i=0,j=0,ele;i<elsLen;i++){ele=els[i];if(typeof ele!='undefined'&&typeof ele.className!='undefined'){if(ele.className.match(new RegExp('(\\s|^)'+searchClass+'(\\s|$)'))){classElements[j]=ele;j++;}}}
return classElements;};var RFE={quotes:[],related:[],quoteElem:'',company:false,niche:false,timer:null,pageType:'',events:{},debug:'',loader:function(){var YUILoader=new YAHOO.util.YUILoader({require:['yahoo-dom-event','connection','animation','datasource','json'],base:'/j/yui/',onSuccess:function(o){YAHOO.util.Event.onDOMReady(RFE._init);RFE.events.onPortfolioLoadStart=new YAHOO.util.CustomEvent('onPortfolioLoadStart',RFE);RFE.events.onPortfolioLoadComplete=new YAHOO.util.CustomEvent('onPortfolioLoadComplete',RFE);YAHOO.util.Event.onContentReady('admin',function(){YUILoader.addModule({name:'admin',type:'js',varName:'AdminLoaded',fullpath:'http://'+location.hostname+'/j/admin-min.js?rnd='+Math.round(Math.random()*Math.pow(10,12))});YUILoader.require('uploader');YUILoader.require('admin');YUILoader.insert();});},onFailure:function(o){}});YUILoader.insert();},makeDropDowns:function(){var dropdowns=getElementsByClassName('dropdown');var ddLen=dropdowns.length;for(var i=0;i<ddLen;i++){var dd=dropdowns[i];var ddLink=dd.getElementsByTagName('a')[0];ddLink.opts=dd.getElementsByTagName('ul')[0];ddLink.onclick=function(){this.innerHTML='All';if(this.opts.className=='hide'){this.opts.className='show';}
else{this.opts.className='hide';}
return false;};var options=ddLink.opts.getElementsByTagName('a');var optLen=options.length;var opt;for(var j=0;j<optLen;j++){opt=options[j];opt.onclick=function(){var ddOpts=this.parentNode.parentNode;ddOpts.className='hide';RFE.filterByNiche(ddOpts.id,this.innerHTML);ddOpts.parentNode.firstChild.innerHTML=this.innerHTML;return false;};}
var cbs=document.getElementById('portfolio-filter').getElementsByTagName('input');YAHOO.util.Event.on(cbs,'click',RFE.filterPortfolio);}},loadPortfolio:function(){var portfolioXML='/actions/companies';var xmlDataSource=new YAHOO.util.XHRDataSource(portfolioXML);xmlDataSource.responseType=YAHOO.util.XHRDataSource.TYPE_XML;xmlDataSource.responseSchema={resultNode:'company',fields:[{key:'id'},{key:'name'},{key:'href'},{key:'logo'},{key:'description'},{key:'highlights'},{key:'website'},{key:'active'},{key:'addon'},{key:'current'},{key:'niche'},{key:'quotes'}],metaNode:'companies'};var callback={cache:false,success:function(e,obj){RFE.portfolio=obj.results;RFE.portfolioObj={};for(var i=0,portLen=RFE.portfolio.length,co;i<portLen;i++){co=RFE.portfolio[i];RFE.portfolioObj[co.id]=co;}
RFE.displayPortfolio();},failure:function(obj){}};xmlDataSource.sendRequest('',callback);},displayPortfolio:function(e,obj){if(e){YAHOO.util.Event.stopEvent(e);RFE.filterByNiche('niche','All');}
var pElem=document.getElementById('portfolio-all');if(pElem){pElem.style.display='block';RFE.events.onPortfolioLoadStart.fire('block');pElem.innerHTML='';var elem='';for(var p=0,pLen=RFE.portfolio.length,co;p<pLen;p++){co=RFE.portfolio[p];if(typeof co.logo!=='undefined'){elem=document.createElement('li');elem.innerHTML='<a href="/Portfolio/'+co.href+'" style="background-image:url(/i/portfolio/'+co.logo+');" title="'+co.name+'">'+co.name+'</a>';if(!document.getElementById('admin')){YAHOO.util.Event.on(elem,'click',RFE.portfolioDetail,co);}
YAHOO.util.Event.on(elem,'mouseover',function(){this.className='over';this.opacity=this.style.opacity;this.style.opacity=1;},co);YAHOO.util.Event.on(elem,'mouseout',function(){this.className='';this.style.opacity=this.opacity;},co);co.elem=elem;pElem.appendChild(elem);}}
RFE.portfolioHeight=pElem.offsetHeight;var k,v;var path=location.pathname.split('/')[2];if(RFE.niche){RFE.filterByNiche('niche',RFE.niche);}
else if(RFE.company){for(var p in RFE.portfolioObj){if(RFE.portfolioObj[p].href==RFE.company){RFE.pageType='PortfolioDetail';RFE.portfolioDetail(null,RFE.portfolioObj[p]);break;}}}
RFE.events.onPortfolioLoadStart.fire('none');}
if(RFE.pageType!=='PortfolioDetail'){document.getElementById('portfolio-layer').style.position='absolute';YAHOO.util.Event.on(getElementsByClassName('back_link'),'click',RFE.displayPortfolio);}},toggleSpinner:function(e,dis){if(dis){RFE.spinner.style.display=dis;}
else if(RFE.spinner.style.display=='none'){RFE.spinner.style.display='block';}
else{RFE.spinner.style.display='none';}
clearTimeout(RFE.timer);RFE.timer=null;},portfolioDetail:function(e,obj){if(e&&RFE.debug===''){YAHOO.util.Event.stopEvent(e);}
var pElem=document.getElementById('portfolio-layer');pElem.style.minHeight=RFE.portfolioHeight+'px';document.getElementById('p-logo').innerHTML='<img src="/i/portfolio/'+obj.logo+'" border="0" width="80" height="85" alt="'+obj.name+'" />';var ws='-';if(obj.website!==''&&obj.website!=='-'){ws='<a href="http://'+obj.website+'" target="_blank">'+obj.website+'</a>';}
document.getElementById('p-website').innerHTML='<strong>Website:</strong>'+ws;document.getElementById('p-niche').innerHTML='<strong>Industry Niche:</strong>'+obj.niche;document.getElementById('p-company').innerHTML='<h2><a href="http://'+obj.website+'" target="_blank">'+obj.name+'</a></h2>';document.getElementById('p-description').innerHTML='<strong>Description:</strong>'+decodeHTMLEntities(obj.description);var eleHL=document.getElementById('p-highlights');if(obj.highlights&&obj.highlights!='-'){eleHL.innerHTML='<strong>Highlights:</strong>'+decodeHTMLEntities(obj.highlights);}
else{eleHL.innerHTML='';}
if(obj.quotes=='true'){document.getElementById('p-casestudy').innerHTML='<strong>Case Study:</strong><a href="/Case-Studies/'+obj.href+'">View Case Study</a>';}
else{document.getElementById('p-casestudy').innerHTML='';}
var attributes={opacity:{from:0,to:1},zIndex:{to:10}};pElem.style.position='relative';if(pElem.style.zIndex=='10'){pElem=document.getElementById('portfolio-detail');attributes={opacity:{from:0.5,to:1}};}
var anim=new YAHOO.util.Anim(pElem,attributes);anim.onComplete.subscribe(function(){RFE.events.onPortfolioLoadComplete.fire('none');});anim.duration=0.5;anim.animate();document.getElementById('portfolio-filter').style.display='none';document.getElementById('portfolio-all').style.display='none';RFE.getRelated(obj,'niche');},getRelated:function(obj,criteria){var niche=obj.niche;var url='/actions/related/?niche='+niche+'&company_id='+obj.id;var callback={cache:false,success:function(o){try{RFE.related=YAHOO.lang.JSON.parse(o.responseText);}
catch(err){try{RFE.related=eval(o.responseText);}
catch(err2){}}
if(RFE.related.length>0){RFE.portfolioRelated(niche);}},failure:function(o){}};var request=YAHOO.util.Connect.asyncRequest('GET',url,callback);},portfolioRelated:function(niche){var pElem=document.getElementById('portfolio-more');if(pElem){getElementsByClassName('related-header')[0].innerHTML=niche;pElem.innerHTML='';var elem='';for(var p=0,pLen=RFE.related.length,co;p<pLen;p++){co=RFE.related[p];if(typeof co.logo!=='undefined'){elem=document.createElement('li');elem.className='p-link';elem.innerHTML='<a href="/Portfolio/'+co.href+'" style="background-image:url(/i/portfolio/'+co.logo+');" title="'+co.name+'">'+co.name+'</a>';YAHOO.util.Event.on(elem,'click',RFE.portfolioDetail,co);YAHOO.util.Event.on(elem,'mouseover',function(){this.className='p-link over';},co);YAHOO.util.Event.on(elem,'mouseout',function(){this.className='p-link';},co);pElem.appendChild(elem);}}}},filterByNiche:function(f,v){v=v.replace('-',' ');RFE.resetFilter(f);document.getElementById(f).parentNode.getElementsByTagName('a')[0].innerHTML=v;var attributes;for(var p in RFE.portfolio){var co=RFE.portfolio[p];if(v!='All'&&co[f]!=v){attributes={opacity:{to:0.3}};}
else{attributes={opacity:{to:1.0}};}
var anim=new YAHOO.util.Anim(co.elem,attributes);anim.onStart.subscribe(function(){var pElem=document.getElementById('portfolio-layer');var preAttributes={opacity:{to:0.0},zIndex:{to:0.0}};var preAnim=new YAHOO.util.Anim(pElem,preAttributes);preAnim.duration=0.25;preAnim.animate();});anim.duration=0.5;anim.animate();}
return false;},resetFilter:function(f){document.getElementById('portfolio-filter').style.display='block';var dd=document.getElementById(f);dd.parentNode.firstChild.innerHTML='All';dd.className='hide';var rcb=getElementsByClassName('release');for(var i=0,rcbLen=rcb.length;i<rcbLen;i++){rcb[i].checked=true;}

document.getElementById('addon').checked=false;
document.getElementById('current').checked = false;
},
filterPortfolio:function(e,obj)
{
	var field=this;var f=field.className;
	var v=field.value;
	var c=field.checked?'true':'false';
	var attributes={opacity:{to:field.checked?1.0:0.3}};
	for(var p in RFE.portfolio)
	{
		var co=RFE.portfolio[p];
		if(f=='addon')
		{
			if(document.getElementById('current').checked==true)
			{
				if(field.checked)
				{
					if(co['current']!==c||co[f]!==c) 
					{
						attributes = { opacity: { to: 0.3 } };
					}
					else
					{
						attributes={opacity:{to:1.0}};
					}
				}
				else
				{
					
					if(co['current']!==c)
					{
						attributes={opacity:{to:1.0}};
					}
					else
					{
						attributes={opacity:{to:0.3}};
					}
				}
			}
			else
			{
				if(field.checked&&co[f]!==c) 
				{
					attributes = { opacity: { to: 0.3 } };
				}
				else 
				{ 
					attributes = { opacity: { to: 1.0 } };
				}
			}
		}
		if(f=='current') 
		{
			if(document.getElementById('addon').checked==true)
			{
				if(field.checked)
				{
					if(co['addon']!==c||co[f]!==c) 
					{
						attributes = { opacity: { to: 0.3 } };
					}
					else
					{
						attributes={opacity:{to:1.0}};
					}
				}
				else
				{
					
					if(co['addon']!==c)
					{
						attributes={opacity:{to:1.0}};
					}
					else
					{
						attributes={opacity:{to:0.3}};
					}
				}
			}
			else
			{
				if(field.checked&&co[f]!==c) 
				{
					attributes = { opacity: { to: 0.3 } };
				}
				else 
				{ 
					attributes = { opacity: { to: 1.0 } };
				}
			}
			
			
      }
if((f=='active'&&co[f]==v)||(v=='false'&&co[f]!=='true')||(f=='addon')||(f=='current')||(f=='current'&&co['addon'])){var anim=new YAHOO.util.Anim(co.elem,attributes);anim.onStart.subscribe(function(){var pElem=document.getElementById('portfolio-layer');var preAttributes={opacity:{to:0.0},zIndex:{to:0.0}};var preAnim=new YAHOO.util.Anim(pElem,preAttributes);preAnim.duration=0.25;preAnim.animate();});anim.duration=0.5;anim.animate();}}},getQuotes:function(id){if(id.indexOf('Delstar')>=0){id='DelStar-Technologies';}
var url='/actions/case-study/?company_path='+id;var callback={cache:false,success:function(o){try{RFE.quotes=YAHOO.lang.JSON.parse(o.responseText);}
catch(err){try{RFE.quotes=eval(o.responseText);}
catch(err2){}}},failure:function(o){}};var request=YAHOO.util.Connect.asyncRequest('GET',url,callback);},activateAccordion:function(activator,activatee){var accordions=getElementsByClassName('accordion');if(accordions.length==1){var accordion=accordions[0];var headlines=accordion.getElementsByTagName(activator);var paragraphs=accordion.getElementsByTagName(activatee);var paraLen=paragraphs.length;var hlLen=headlines.length;var hl;paragraphs[0].style.display='block';var i,p;for(i=0;i<paraLen;i++){p=paragraphs[i];p.height=p.offsetHeight+5;if(i!=0){p.style.display='none';}
p.style.visibility='visible';}
for(i=0;i<hlLen;i++){hl=headlines[i];hl.i=i;hl.onclick=function(){var csq=document.getElementById('cs-quote');if(csq){var co=document.getElementsByTagName('body')[0].id.split('cs-')[1];if(co=='advanced-technology-services'&&this.i>=3){csq.parentNode.className='hero jeff';}
else{csq.parentNode.className='hero dick';}
var quote=RFE.quotes[this.i];csq.innerHTML=quote.text;csq.style.height=quote.height;csq.style.backgroundPosition='0 '+quote.top;}
var sibling=this.nextSibling;while(sibling.nodeType!=1&&sibling.tagName!=activatee){sibling=sibling.nextSibling;}
var p,atty;for(var j=0;j<paraLen;j++){p=paragraphs[j];if(p==sibling){atty={height:{to:p.height}};p.style.display='block';}
else{atty={height:{to:0.0}};}
var anim=new YAHOO.util.Anim(p,atty);anim.duration=0.35;anim.animate();}
return false;};}}},_init:function(){var path=location.pathname.split('/')[2];if(path=='Niche'){RFE.niche=location.pathname.split('/')[3];}
else{RFE.company=path;}
if(document.getElementById('portfolio')){RFE.spinner=document.getElementById('spinner');RFE.loadPortfolio();RFE.makeDropDowns();RFE.events.onPortfolioLoadStart.subscribe(RFE.toggleSpinner);RFE.events.onPortfolioLoadComplete.subscribe(RFE.toggleSpinner);}
RFE.quoteElem=document.getElementById('cs-quote');if(RFE.quoteElem){RFE.getQuotes(RFE.company);}
RFE.activateAccordion('h4','div');}};RFE.loader();YAHOO.RFE.app=RFE;})();