
var FB={member:[],trustee:[],filtered:[]};$(function(){$("#do-search").bind("click",function(event){filterTable();})});function filterTable(){var name=$("#name-search").val()||"empty";var level=$("#member-level").val();var cat=$("#category").val();FB.filtered.length=0;if(level==="all"){filterLevel("member",name,cat);filterLevel("trustee",name,cat);}
else
filterLevel(level,name,cat);makeTable(FB.filtered);}
function filterLevel(level,name,category){var i;for(i=0;i<FB[level].length;i++){if(match(FB[level][i],name,category))
FB.filtered.push(FB[level][i]);}}
function match(p,name,category){if(name==="empty")
return categoryMatch(p,category);else
return nameMatch(p,name)&&categoryMatch(p,category);}
function categoryMatch(p,category){if(category==="All"||category===p.primarycategory||category===p.secondarycategory||category===p.thirdcategory)
return true;else
return false;}
function nameMatch(p,name){var nameLow=name.toLowerCase();if(-1!==p.firstname.toLowerCase().indexOf(nameLow)||-1!==p.lastname.toLowerCase().indexOf(nameLow)||-1!==p.company.toLowerCase().indexOf(nameLow))
return true;else
return false;}
$(document).ready(function(){$.get("edc-members.xml",{},function(xml){$('member',xml).each(function(i){var mem={"firstname":$(this).find("firstname").text(),"lastname":$(this).find("lastname").text(),"jobtitle":$(this).find("jobtitle").text(),"businessstreet":$(this).find("businessstreet").text(),"businesscity":$(this).find("businesscity").text(),"businessstate":$(this).find("businessstate").text(),"businesspostalcode":$(this).find("businesspostalcode").text(),"businessphone":$(this).find("businessphone").text(),"businessfax":$(this).find("businessfax").text(),"companyid":$(this).find("companyid").text(),"company":$(this).find("company").text(),"primarycategory":$(this).find("primarycategory").text(),"secondarycategory":$(this).find("secondarycategory").text(),"thirdcategory":$(this).find("thirdcategory").text(),"membershiplevel":$(this).find("membershiplevel").text(),"webpage":$(this).find("webpage").text()};var memberLevel=mem.membershiplevel.toLowerCase();if(memberLevel==="trustee"||memberLevel==="member")
FB[memberLevel].push(mem);});FB.filtered=FB.member.concat(FB.trustee);makeTable(FB.filtered);});});function makeTable(datasource){this.companyAddressFormatter=function(elCell,oRecord,oColumn,oData){var webpage=oRecord.getData("webpage")===""?oRecord.getData("company"):"<a href='"+oRecord.getData("webpage")+"'>"+
oRecord.getData("company")+"</a>";elCell.innerHTML=webpage+"<br />"+
oRecord.getData("businessstreet")+"<br />"+
oRecord.getData("businesscity")+", "+
oRecord.getData("businessstate")+" "+
oRecord.getData("businesspostalcode");};this.phoneFormatter=function(elCell,oRecord,oColumn,oData){elCell.innerHTML="Fax: "+oRecord.getData("businessfax")+"<br />"+"Tel: "+oRecord.getData("businessphone")+"<br />";};this.nameFormatter=function(elCell,oRecord,oColumn,oData){elCell.innerHTML=oRecord.getData("lastname")+", "+
oRecord.getData("firstname")+"<br />"+
oRecord.getData("jobtitle");};this.categoryFormatter=function(elCell,oRecord,oColumn,oData){elCell.innerHTML=oRecord.getData("primarycategory")+"<br /> "+
oRecord.getData("secondarycategory")+"<br /> "+
oRecord.getData("thirdcategory");};YAHOO.widget.DataTable.Formatter.companyAddress=this.companyAddressFormatter;YAHOO.widget.DataTable.Formatter.phone=this.phoneFormatter;YAHOO.widget.DataTable.Formatter.name=this.nameFormatter;YAHOO.widget.DataTable.Formatter.category=this.categoryFormatter;var myColumnDefs=[{key:"company",label:"Company",sortable:true,formatter:"companyAddress"},{key:"lastname",label:"Name",sortable:true,formatter:"name"},{key:"businessphone",label:"Contact",sortable:false,formatter:"phone"},{key:"primarycategory",label:"Category",sortable:true,formatter:"category"}];var myDataSource=new YAHOO.util.DataSource(FB.filtered);myDataSource.responseType=YAHOO.util.DataSource.TYPE_JSARRAY;myDataSource.responseSchema={fields:["firstname","lastname","jobtitle","businessstreet","businesscity","businessstate","businesspostalcode","businessphone","businessfax","companyid","company","primarycategory","secondarycategory","thirdcategory","membershiplevel","webpage"]};var myConfigs={paginator:new YAHOO.widget.Paginator({rowsPerPage:15})};var myDataTable=new YAHOO.widget.DataTable("member-table",myColumnDefs,myDataSource,myConfigs);}