var personObj=new Class({initialize:function(a,b,c,d,e,f,g,h){this.id=a;this.first=b;this.last=c;this.title=d;this.phone=e;this.profile=f;this.image=g;this.email=h}});var xmlStaffDisplay=new Class({Implements:[Options,Events],options:{display:['name','title','phone','clear'],sortType:'none',nameFormat:'first-last',showHideProfile:false,hu:'',showText:'Show Profile',hideText:'Hide Profile',completed:$empty},initialize:function(a,b,c){this.xmlFile=a;this.staffContainer=b;this.staff=new Array();this.setOptions(c);this.readXML(this.xmlFile,this.staffContainer)},readXML:function(c,d){var e=new Request({url:c,method:'get',onSuccess:function(a,b){this.parseXML(b)}.bind(this),onFailure:function(){var a=$(d).set({'html':'There was a problem retrieving the XML file:<br/>'+c,'styles':{'color':'#ff0000','text-align':'center','font-weight':'bold'}})}}).send()},parseXML:function(a){var b=a.getElementsByTagName('person');if(b.length==0)return;for(var i=0;i<b.length;i++){this.staff[i]=new personObj(this.getAtrValue(b[i],'id'),this.getTagValue(b[i],'first'),this.getTagValue(b[i],'last'),this.getTagValue(b[i],'title'),this.getTagValue(b[i],'phone'),this.getTagValue(b[i],'profile'),this.getTagValue(b[i],'image'),this.getTagValue(b[i],'email'))};this.sortStaff(this.options.sortType);this.displayStaff();if(this.options.completed!=$empty)this.options.completed()},getAtrValue:function(a,b){if(!a)return null;if(!a.attributes)return null;if(!a.attributes.getNamedItem(b))return null;if(!a.attributes.getNamedItem(b).value)return null;return a.attributes.getNamedItem(b).value},getTagValue:function(a,b){if(!a)return null;if(!a.getElementsByTagName(b))return null;var c=a.getElementsByTagName(b);if(!c.length)return null;if(c.length==0)return null;if(c[0].firstChild==null)return null;if(c[0].firstChild.nodeValue==null)return null;return c[0].firstChild.nodeValue},sortByFirst:function(a,b){if(a.first.toLowerCase()!=b.first.toLowerCase()){return(a.first.toLowerCase()<b.first.toLowerCase())?-1:1}else{if(a.last.toLowerCase()!=b.last.toLowerCase()){return(a.last.toLowerCase()<b.last.toLowerCase())?-1:1}else{return 0}}},sortByLast:function(a,b){if(a.last.toLowerCase()!=b.last.toLowerCase()){return(a.last.toLowerCase()<b.last.toLowerCase())?-1:1}else{if(a.first.toLowerCase()!=b.first.toLowerCase()){return(a.first.toLowerCase()<b.first.toLowerCase())?-1:1}else{return 0}}},sortByTitle:function(a,b){if(a.title.toLowerCase()!=b.title.toLowerCase()){return(a.title.toLowerCase()<b.title.toLowerCase())?-1:1}else{return 0}},sortById:function(a,b){return(Number(a.id)<Number(b.id))?-1:1},sortStaff:function(a){switch(a){case'first':this.staff.sort(this.sortByFirst);break;case'last':this.staff.sort(this.sortByLast);break;case'title':this.staff.sort(this.sortByTitle);break;default:this.staff.sort(this.sortById);break}},fadeIn:function(a){if($(a)){$(a).set('tween',{duration:200});$(a).tween({opacity:[0,1]})}},hideOpenProfiles:function(){var a=document.getElementsByTagName('div');for(var i=0;i<a.length;i++){if(a[i].className.indexOf('selected')>-1){this.hideProfile(a[i].id);return}}},hideProfile:function(a){if(!document.getElementById)return;var b=$(a+'profile');if(b.style.display=='block'){b.fade('out');b.setStyle('display','none')};$(a+'hide').style.display='none';$(a+'show').style.display='block';$(a).className='person';$(a).removeClass('selected')},showProfile:function(a){this.hideOpenProfiles();var b=$(a+'profile');b.setStyle('opacity',0);b.style.display='block';b.fade('in');$(a+'hide').style.display='block';$(a+'show').style.display='none';$(a).addClass('selected')},createResult:function(a,b,c){var v=(c!=undefined)?c:a[b];return new Element('div',{'class':b}).set('text',v)},createSection:function(b,c,d){var e=null;switch(c){case'name':var f=null;switch(this.options.nameFormat){case'first-last':if(b.first!=null){f=b.first;if(b.last!=null)f+=(' '+b.last)}else{if(b.last!=null)f=b.last};break;default:if(b.last!=null){f=b.last;if(b.first!=null)f+=(', '+b.first)}else{if(b.first!=null)f=b.first};break};e=this.createResult(b,c,f);break;case'title':e=this.createResult(b,c);break;case'phone':e=this.createResult(b,c);break;case'show':e=new Element('a',{'class':'show',href:'javascript:;',id:d.id+'show'}).set('text',this.options.showText);e.addEvent('click',this.showProfile.bind(this,[d.id]));break;case'profile':if(b.profile!=null){e=new Element('div',{'class':'profile',id:d.id+'profile'}).set('reveal',{duration:'long',transition:'elastic:out'});e.appendChild(new Element('span').set('text',b.profile));if(this.options.showHideProfile)this.createSection(b,'show',d);d.appendChild(e);if(this.options.showHideProfile)this.createSection(b,'hide',d)}else{if(this.options.showHideProfile)d.appendChild(new Element('span',{'class':'show'}).set('text',' '))};return;case'hide':var e=new Element('a',{'class':'hide',href:'javascript:;',id:d.id+'hide'}).set('text',this.options.hideText);e.addEvent('click',this.hideProfile.bind(this,[d.id]));break;case'image':e=new Element('div',{'class':'image'});if(b[c]!=null)e.setStyle('background-image','url('+this.options.hu+b[c]+')');if(b['email']!=null){var a=new Element('a',{'class':'emailIcon','title':'Email '+b['first']+' '+b['last'],'href':'mailto:'+b['email']});e.appendChild(a)};break;case'email':e=new Element('div',{'class':c});if(b['email']!=null){var a=new Element('a',{'title':'Email '+b['first']+' '+b['last'],'href':'mailto:'+b[c]}).set('text',b[c]);e.appendChild(a)};break;case'clear':e=new Element('div',{'class':c});break};d.appendChild(e)},createSections:function(a,b){for(var i=0;i<this.options.display.length;i++)this.createSection(a,this.options.display[i],b)},displayStaff:function(){var a=$(this.staffContainer);a.set('html','');for(var i=0;i<this.staff.length;i++){var b=new Element('div',{'class':'person',id:'person'+i});this.createSections(this.staff[i],b);a.appendChild(b)}}});
