// JavaScript Document	// 	// STAFF CATEGORIES (sorted by the category property of the Profile Object)	//    a. braunStaff	//    b. ccarhStaff	//    c. ccrmaStaff	//    d. libraryStaff	//		var staff = new Array(); // defines the master Array of Profile Objects		 // defines a generic object called Profile with certain properties 	// regarding occupational and contact information		/* WHEN YOU ADD TO THE MASTER DATABASE OF PROFILES, MAKE SURE YOU ENTER ALL THE INFORMATION IN THE CORRECT ORDER.	   IF A PROFILE DOES NOT POSSESS A CERTAIN ATTRIBUTE, ENTER AN EMPTY SET OF QUOTE MARKS	staff[staff.length++] = new Profile(	         "FIRSTNAME", "LASTNAME", "CATEGORY", "IMAGE", "TITLE",			 "EMAIL", "PHONE", "ROOM", "WEBSITE",			 "DESCRIPTION"			 );			 	 IF YOU WANT TO BOLD OR ITALICIZE ANYTHING IN THE DESCRIPTION VALUE, ENCLOSE THE WORD OR PHRASE IN A SET OF ITALIC OR BOLD TAGS	 e.g. "<b>Chair's Secretary:</b>" or	      "<i>Musica Ficta</i>"		 	 */	staff[staff.length++] = new Profile(          "Velda", "Williams", "braunStaff", "WilliamsV.jpg", "Financial Officer",           "velda@stanford.edu", "725.3100", "Braun 101D", "",           "");staff[staff.length++] = new Profile(	                 "Debbie", "Barney", "braunStaff", "DBarney.jpg", "Chair's Secretary, Graduate Student Services Officer, and Academic Administration",					 "dabarney@stanford.edu", "725.3101", "Braun 101", "", 					 "<b>Chair's Secretary:</b> calendar; calls; correspondence<br /><b>Faculty/Academic Affairs Administrator:</b> manage searches, appointments, reapppointments, reviews; departmental meeting scheduling; faculty roster/pedigrees; bulletin and time schedule preparation.<br /><b>Graduate Student Services Officer:</b> facilitate graduates' academic careers from initial inquiry/application through graduation/placement; departmental graduate handbook, TA assignments; liaison to Registrar's Office; schedule and administer exams."					 );	staff[staff.length++] = new Profile(	                 "Sumi", "Park", "braunStaff", "parksumi.jpg", "Department Accompanist",					 "spark-oh@worldnet.att.net", "494.9013 (H), 269.8812 (M)", "", "", 					 "B.M. (Piano Performance), Canberra School of Music, Australia; M.M. and D.M.A.(Piano Accompanying and Chamber Music), Eastman School of Music; Studies with Jean Barr, David Burge, John Luxton and Arthur Haas (harpsichord); Specialist in collaborative piano; Minor in Baroque Performance Practice; Founding member of Trio Jubilee, Rehearsal Pianist for the Stanford Symphonic Chorus since 2000; Served as Music Associate at the San Francisco Conservatory; Pianist for the Bathurst Summer School for Singers (1988-1989), Australia and The Quarter Program, Massachusetts; Collaborative pianist for recitals in Taiwan (National Chang Kai Shek Cultural Center), Korea (Seoul Arts Center), Australia and the US."					 );staff[staff.length++] = new Profile(	                 "Pam", "Bergmann", "braunStaff", "bergman.jpg", "Stage Manager",					 "pamyb@stanford.edu", "723.2448", "Dink 109", "",					 "<b>Stage Manager extraordinaire:</b> Lights, sound, sets - when you're ready to perform, give Pam a call!"					 );staff[staff.length++] = new Profile(	                 "Mario", "Champagne", "braunStaff", "champagne.jpg", "Administrative Director",					 "marioch@stanford.edu", "723.0038", "Braun 101", "",					 "In charge of the department's affairs and liaison to the Dean's Office and other offices on campus, the Administrative Director reviews and plans budgets, provides support for donor relations, coordinates departmental affairs (both administrative and curricular), oversees facilities and instruments, and supervises the work of the staff on behalf of the department.");	staff[staff.length++] = new Profile(	                 "Mark", "Dalrymple", "braunStaff", "dalrymple.jpg", "Facilities and Production Manager",					 "techie@stanford.edu", "723.3812", "Braun 101", "",					 "Schedules room use and supervises concert operations and public events. Oversees building and equipment maintenance, repairs, and renovations. Computer network administrator, techie, and chief schlepper. </br><i>The Old Timer and Departmental memory.</i>"); 	staff[staff.length++] = new Profile(	                 "Nette", "Worthey", "braunStaff", "NWorthey.jpg", "Undergraduate Student Services<br/>Friends of Music Liaison",					 "nworthey@stanford.edu", "725.1932 (UG)<br />723.1780 (FoM)", "Braun 101", "",					 "<b>Undergraduate Services:</b> Nette helps guide undergraduates through their degree requirements, University systems, and questions about their lives at Stanford.<br /><b>Friends of Music:</b> Nette acts as liaison between the department and the Friends' board; facilitates, plans, and executes events in coordination with the Friends of Music.");staff[staff.length++] = new Profile(	                 "Delane", "Haro", "braunStaff", "", "Publicist (External)",					 "dharo@stanford.edu", "430.0335", "offsite", "",					 "<b>Outbound publicity:</b> blast emails, faxes, press releases and other media contacts.<br /><b>Project Manager:</b> Pan Asian Music Festival, St. Lawrence String Quartet, and others as needed."					 );staff[staff.length++] = new Profile(	                 "William", "Keats", "braunStaff", "wkeats.jpg", "Publicist (Internal)",					 "wkeats@stanford.edu", "962.1457", "offsite", "",					 "Produces all departmental publications: programs, posters, flyers, newsletters, calendars, and other print projects as needed; also updates and maintains departmental website content and links.");staff[staff.length++] = new Profile(          "Scott", "Kepley", "braunStaff", "KepleyScott.jpg", "Technical Services Manager",           "sdkepley@stanford.edu", "721.1507", "Braun 101C", "", "&nbsp;"		  );	// CCARH STAFF	staff[staff.length++] = new Profile(	                 "Don", "Anthony", "ccarhStaff", "anthony.jpg", "Administrator",					 "ccarh@ccrma.stanford.edu", "725.9240", "Braun 129", "",					 "Don is administrator for the Center for Computer Assisted Research in the Humanities and is the primary contact for those wishing to reach the Center."					 );					     // LIBRARY STAFF    staff[staff.length++] = new Profile(	                 "Aurora", "Perez", "libraryStaff", "perez.jpg", "Operations Manager, Archive of Recorded Sound (ARS)",					 "aperez@stanford.edu", "723.9312", "ARS", "",					 "&nbsp;"					 );		staff[staff.length++] = new Profile(	                 "Keith", "Bisaillon", "libraryStaff", "bisaillon.jpg", "Library Specialist & Cataloging, Music Technical Services",					 "keith.bisaillon@stanford.edu", "723.0874", "Stanford Music Library", "",					 "As a member of the Music Library's Music Technical Services Department, Keith catalogs scores, musical sound recording, and music-related books for all 16 libraries within Stanford University Libraries. He also contributes to the music library reference team and provides internal desktop support."					 );		staff[staff.length++] = new Profile(	                 "Ray", "Heigemeir", "libraryStaff", "heigemeir.jpg", "Public Services Librarian",					 "raymondh@stanford.edu", "725.1148", "Stanford Music Library", "", 					 "Ray oversees reference and circulation services, manages physical collections both in the Library and in off-site storage, coordinates archival project work in the Archive of Recorded Sound, and assists with materials processing. Ray serves as webmaster for both the Music Library and the Archive. He holds a BM in Music History from the Crane School, SUNY Potsdam; an MLS from Simmons College, Boston; and an MA in Musicology from the University of Texas at Austin, where his research interest focused on music iconography. It's no secret that Ray loves the piano, drawing, cooking, and food culture."					 );		staff[staff.length++] = new Profile(	                 "Nancy", "Lorimer", "libraryStaff", "lorimer.jpg", "Head, Music Technical Services",					 "nlorimer@stanford.edu", "725.8819", "Stanford Music Library", "",					 "Nancy is Head of Music Technical Services. She is responsible for coordinating the purchase and cataloging of all those scores, sound recordings, books, and videos you find in the Music Library, the Archive of Recorded Sound, and Special Collections. She is also a music cataloger, specializing in sound recordings, rare materials, and various oddities. You will also see Nancy at the reference desk. Originally from Canada, Nancy has a BMus (Music History) and an MLIS from the University of Western Ontario, an MMus from the University of Edinburgh, and ABD from the University of Chicago."					 );		staff[staff.length++] = new Profile(	                 "Jerry", "McBride", "libraryStaff", "McBride.jpg", "Head Librarian, Music Library & Archive of Recorded Sound",					 "jerry.mcbride@stanford.edu", "725.1146", "Stanford Music Library", "",					 "Jerry is the Head of the Music Library and Archive of Recorded Sound. He is responsible for the administration of the library, supervision of the library staff, the library budget, and setting library policies with the library staff regarding circulation, collection development, reference service, and cataloging. He works with donors to find and acquire new library collections and works with other library departments to provide digital access to music library materials. He works with the library staff to continually and improve the Archive and Music Library services for research, study, and teaching."					 );		staff[staff.length++] = new Profile(	                 "Frank", "Ferko", "libraryStaff", "ferko.jpg", "Sound Cataloger, Archive of Recorded Sound",					 "fferko@stanford.edu", "725.8862", "Stanford Music Library", "",					 "Having previously worked in the music library and manuscript archives at Northwestern University, Frank Ferko is currently cataloging 78 r.p.m. recordings in Stanford's Archive of Recorded Sound. The Stanford cataloging initiative is part of a Mellon-funded collaborative cataloging project with the recorded sound archives at Yale University, Syracuse University, and the New York Public Library for the Performing Arts. A composer and organist, Mr. Ferko received a Bachelor of Music degree in piano and organ performance from Valparaiso and the Master of Music degree in music theory (with a minor in organ performance) from Syracuse University. He holds a doctorate in music composition from Northwestern University. His compositions have been performed in 30 countries on six continents."					 );		staff[staff.length++] = new Profile(	                 "Rich", "Powers", "libraryStaff", "powers.jpg", "Operations Manager",					 "rpowers@stanford.edu", "723.0873", "Stanford Music Library", "",					 "Rich's most profound moments are spent directing his exhalations through a bamboo tube. As Operations Manager, Rich's most visible responsibilities are overseeing the circulation system and managing the stacks. One of his specialties is finding materials that are invisible to other people. If your library problem really calls for an answer, <em>Who you gonna call?</em>"					 );		staff[staff.length++] = new Profile(	                 "Mimi", "Tashiro", "libraryStaff", "tashiro.jpg", "Assistant Head & Bibliographer", 					 "mtashiro@stanford.edu", "725.1144", "Stanford Music Library", "",					 "As Music Bibliographer, Mimi is responsible for building the collection in the Music Library through the addition of current, out-of-print, and gift materials. Rare materials are also purchased for the Music Library and Special Collections in Green Library. Mimi also spends time at the reference desk."					 );		staff[staff.length++] = new Profile(	                 "Mie", "Araki", "libraryStaff", "Mie.jpg", "Library Specialist, Acquisitions & Receiving", 					 "miea@stanford.edu", "725.1147", "Stanford Music Library", "",					 "Originally from Osaka, Japan, Mie has been enjoying her music life in the U.S. for nearly 20 years. Her main focus at the Stanford Music Library is music acquisitions (scores & sound recordings). She has a BM (Jazz/Commercial Percussion) from Manhattan School of Music and an MA (Improvisation Studies) from San Jose State University." 					 );		// CENTER FOR COMPUTER RESEARCH IN MUSIC AND ACOUSTICS STAFF (CCRMA)				 	staff[staff.length++] = new Profile(	                 "William", "Schottstaedt", "ccrmaStaff", "Schottstaedt.jpg", "Research Associate",					 "bil@ccrma.stanford.edu", "723.4971 x300", "Knoll", "",					 "Bill Schottstaedt maintains and develops several sound synthesis and editing programs (primarily Snd and CLM), pursues research mostly related to non-linear synthesis techniques, and helps occasionally with system stuff."					 );	staff[staff.length++] = new Profile(	                 "Tricia", "Schroeter", "ccrmaStaff", "TriciaSchroeter.jpg", "Administrative Associate",					 "tricia@ccrma.stanford.edu", "723.4971 x320", "Knoll 301", "",					 "Tricia's duties include grants & sponsored projects, Industrial Affiliates program, administration and management support of CCRMA, visiting scholar and researcher coordination, Knoll room reservations and primary contact for questions regarding CCRMA."					 );	staff[staff.length++] = new Profile(	                 "Sasha", "Leitman", "ccrmaStaff", "SashaAtHelmSmall.jpg", "Technical Coordinator",					 "sleitman@ccrma.stanford.edu", "723.4971 x316", "", "",					 "Sasha facilitates technical and administrative tasks at CCRMA.  She is the contact person for weekly colloquia,  the CCRMA museum project, and all building-related questions."					 );				// displays the an error console if the category attribute for any profile is undefined. 	for (i = 0; i < staff.length; i++) {	    if ((staff[i].category != "braunStaff") && (staff[i].category != "ccrmaStaff") && (staff[i].category != "ccarhStaff") && (staff[i].category != "libraryStaff")) {        alert("category is undefined for: " + staff[i].firstName + " " + staff[i].lastName);		break;		} 	}		// divides the master Array into four subarrays based on the value of the category attribute		var departmentStaff = new Array();	var ccarhStaff = new Array();	var libraryStaff = new Array();	var ccrmaStaff = new Array();		  // The for loop executes immediately and uses the switch paradigm to sort and assign profile objects to 	 // their corresponding subarray based on the value of the staff member's category attribute. Four values	// are currently defined, "braunStaff", "ccarhStaff", "ccrmaStaff", and "library"		for (i = 0; i < staff.length; i++) {	    switch (staff[i].category) {		       case "braunStaff": departmentStaff = departmentStaff.concat(staff[i]); break;			   case "ccarhStaff": ccarhStaff = ccarhStaff.concat(staff[i]); break;			   case "libraryStaff": libraryStaff = libraryStaff.concat(staff[i]); break;			   case "ccrmaStaff": ccrmaStaff = ccrmaStaff.concat(staff[i]); break;		}	}	  	  // The following four function calls alphabetize the four subArrays alphabetically by last names.	 // The sortByLastFirst function is defined in sort.js in the JS Folder.		departmentStaff.sort(sortByLastFirst);	ccarhStaff.sort(sortByLastFirst);	libraryStaff.sort(sortByLastFirst);	ccrmaStaff.sort(sortByLastFirst); 