/* --------------------------------------------------
	Created:	March 6, 2007
	Purpose:	Functions to create and print logos. 
				Used primarily on:
				- displaySimpleEventList
				- displayGroupList 
-------------------------------------------------- */
	function makeLogo(name, logo) {
		this.oname = name;
		this.ologo = logo;
	}

/* --------------------------------------------------
	LOGO LIST
-------------------------------------------------- */
	logoList = new Array;
	var i = 0;
//	logoList[i++] = new makeLogo("Florida Int&#39;l", "fiu");
//	logoList[i++] = new makeLogo("Rutgers Student Test", "StudentShirt");
//	logoList[i++] = new makeLogo("UCLA - Homecoming 2", new Array("ucla","berkeley")); 
	logoList[i++] = new makeLogo("SOME LIKE IT HOT", "jacksonstateu");
	logoList[i++] = new makeLogo("MY FAIR LADY", "utulsa");
	logoList[i++] = new makeLogo("CHANGING NAME FOR EACCESS", "tsu");
	logoList[i++] = new makeLogo("SECOND SATURDAY EVENTS", "latech");
	logoList[i++] = new makeLogo("H030511E - 5/11/03 - 7:30PM - SUNDAY EVE", "shs");
	logoList[i++] = new makeLogo("MUSICAL 6 - 5/11/03 - 7:30PM - SUNDAY EVE", "swt");
	logoList[i++] = new makeLogo("INTERNET NAME FOR H021206 THE WIZARD OF OZ", "centenary");
	logoList[i++] = new makeLogo("HANDEL&#39;S MESSIAH", "okstate");
	logoList[i++] = new makeLogo("PRINCE CONCERT 6 NEW YEAR&#39;S EVE SHOW", "memphis");
	logoList[i++] = new makeLogo("AUBURN UNIVERSITY", "auburn");
	logoList[i++] = new makeLogo("LOUISIANA STATE UNIVERISTY", "lsu");
	logoList[i++] = new makeLogo("UNIVERSITY OF ALABAMA", "ubama");
	logoList[i++] = new makeLogo("UNIVERSITY OF TENNESSEE AT KNOXVILLE", "utenn");
	logoList[i++] = new makeLogo("UNIVERISTY OF KENTUCKY", "ukentucky");
	logoList[i++] = new makeLogo("MISSISSIPPI STATE UNIVERSITY", "missstate");
	logoList[i++] = new makeLogo("UNIVERSITY OF MISSISSIPPI", "olemiss");
	logoList[i++] = new makeLogo("The Magic Flute", "magicflute_small");
	logoList[i++] = new makeLogo("West Side Story", "westside_small");
	logoList[i++] = new makeLogo("Orfeo ed Euridice", "orfeo_small");
	logoList[i++] = new makeLogo("Natalie MacMaster", "mcmaster_small");
	logoList[i++] = new makeLogo("Anonymous 4", "anonymous_small");
	logoList[i++] = new makeLogo("Evidence Dance Company", "evidence_small");
	logoList[i++] = new makeLogo("David Finckel and Wu Han", "finckel_han_small");
	logoList[i++] = new makeLogo("Pilobolus", "pilobolus_small");
	logoList[i++] = new makeLogo("John Scofield Jazz Trio", "scofield_small");
	logoList[i++] = new makeLogo("Olga Kern, piano", "kern_small");
	logoList[i++] = new makeLogo("The Assad Duo and Nadja Salerno-Sonnenberg", "salerno_small");
	logoList[i++] = new makeLogo("CU African Highlife Ensemble", "highlife_small");
	//logoList[i++] = new makeLogo("Takacs Quartet", "takacs_quartet");
	logoList[i++] = new makeLogo("Holiday Festival", "holiday_festival");
	logoList[i++] = new makeLogo("Beppe Gambetta", "beppe_gambetta");
	logoList[i++] = new makeLogo("Classical Savion!", "glover_small");
	logoList[i++] = new makeLogo("Chiara Quartet", "takacs_quartet");
	logoList[i++] = new makeLogo("Takacs Quartet - SINGLE TICKETS ONLY", "takacs_quartet");
	logoList[i++] = new makeLogo("Takacs Quartet - SOLD OUT", "takacs_quartet");
	logoList[i++] = new makeLogo("Beppe Gambetta, guitar", "beppe_gambetta");	
	logoList[i++] = new makeLogo("Man of La Mancha", "lamancha");
	logoList[i++] = new makeLogo("South Pacific", "southpacific");
	logoList[i++] = new makeLogo("Arturo Sandoval", "as1-sandoval");
	logoList[i++] = new makeLogo("Ensemble Galilei with Neal Conan", "as2-firstperson");
	logoList[i++] = new makeLogo("Yamato", "as3-yamato");
	logoList[i++] = new makeLogo("Boston Brass", "as4-bostonbrass");
	logoList[i++] = new makeLogo("Trio Mediaeval", "as5-triomediaeval");
	logoList[i++] = new makeLogo("Les Ballets Trockadero de Monte Carlo", "as6-trockadero");
	logoList[i++] = new makeLogo("Piotr Anderszewski, pianist", "as7-anderszewski");
	logoList[i++] = new makeLogo("Peru Negro", "as8-perunegro");
	logoList[i++] = new makeLogo("Andrew Manze & the Helsingborg Symphony", "as9-manze");
	logoList[i++] = new makeLogo("ODC Dance", "as10-odc");
	logoList[i++] = new makeLogo("Dead Man Walking", "op1op2op3-deadman");
	logoList[i++] = new makeLogo("Die Fledermaus", "op4op5-fledermaus");
	logoList[i++] = new makeLogo("The Cunning Little Vixen", "op6op7op8op9-vixen");
	logoList[i++] = new makeLogo("Holiday Festival", "hf1hf2hf3hf4-holidayfestiva"); 
	
	logoList[i++] = new makeLogo("Albert Herring", "herring_small"); 
	logoList[i++] = new makeLogo("Kavafian-Schub-Shifrin Trio", "kss_small"); 
	logoList[i++] = new makeLogo("Mariza", "mariza_small"); 
	logoList[i++] = new makeLogo("Christopher O&#39;Riley, piano", "oriley_small"); 
	logoList[i++] = new makeLogo("Philadanco", "philadanco_small"); 
	logoList[i++] = new makeLogo("Soweto Gospel Choir", "soweto_small"); 
	logoList[i++] = new makeLogo("Chris Thile & Edgar Meyer", "thile_small"); 
	logoList[i++] = new makeLogo("Vanguard Jazz Orchestra", "vanguard_small"); 
	logoList[i++] = new makeLogo("Colorado Symphony Orchestra with Alicia Weilerstein", "weilerstein_small"); 
	//logoList[i++] = new makeLogo("Holiday", "asnerdelancie_small"); 
	logoList[i++] = new makeLogo("La Boheme", "boheme_small"); 
	logoList[i++] = new makeLogo("Candide", "candide_small");
	//logoList[i++] = new makeLogo("Holiday", "fischer_small");  
	logoList[i++] = new makeLogo("The Great Tennessee Monkey Trial", "tenn_monkey");
	logoList[i++] = new makeLogo("Academy of St. Martin in the Fields", "fischer");	
	
	logoList[i++] = new makeLogo("La Traviata", "La-Traviata");
	logoList[i++] = new makeLogo("Don Giovanni", "Don-Giovanni");
	logoList[i++] = new makeLogo("Our Town", "Our-Town");
	logoList[i++] = new makeLogo("Thomas Hampson", "hampson");
	logoList[i++] = new makeLogo("Rebel", "rebel");
	logoList[i++] = new makeLogo("MOMIX", "momix");
	logoList[i++] = new makeLogo("Van Cliburn Gold Medalist Haochen Zhang", "Haochen-Zhang");
	logoList[i++] = new makeLogo("Luna Negra Dance Theater", "lunanegra");
	logoList[i++] = new makeLogo("Dave Grusin & Lee Ritenour", "Dave-Grusin");	
	
	logoList[i++] = new makeLogo("CU New Opera Workshop", "cu_now");   
	logoList[i++] = new makeLogo("CU NOW - guest recital featuring Anthony Dean Griffey, Sunday, 7/25/10, 2pm", "dean_griffey");
  
  logoList[i++] = new makeLogo("Nnenna Freelon", "freelonsmall");
  logoList[i++] = new makeLogo("Oregon Ballet Theatre", "obtsmall");
  logoList[i++] = new makeLogo("Christmas in Ireland with Danu", "danusmall");
  logoList[i++] = new makeLogo("Hilary Hahn, violin", "hahnsmall");
  logoList[i++] = new makeLogo("Nobuyuki Tsujii, piano", "tsujiismall");
  logoList[i++] = new makeLogo("Hal Holbrook in Mark Twain Tonight!", "holbrooksmall");
  logoList[i++] = new makeLogo("Imani Winds", "imanismall");
  logoList[i++] = new makeLogo("Ladysmith Black Mambazo", "ladysmithsmall");
  logoList[i++] = new makeLogo("Parsons Dance & East Village Opera in Remember Me", "remembermesmall");
  logoList[i++] = new makeLogo("Carousel", "Carousel-a-160pw111ph1");
  logoList[i++] = new makeLogo("Susannah", "Susannah-a-160pw111ph1");
  logoList[i++] = new makeLogo("Leonard Bernstein's Mass", "Bernstein's-Mass-160pw111ph");
  logoList[i++] = new makeLogo("Bernstein Mass", "Bernstein's-Mass-160pw111ph");
  logoList[i++] = new makeLogo("Quartet by David Lawrence Morse", "beethovensmall");
  logoList[i++] = new makeLogo("Beethoven Project", "beethovensmall");
  logoList[i++] = new makeLogo("Takacs Encore Series Subscription", "TQ_Appel_03");
  logoList[i++] = new makeLogo("Takacs Encore Series (includes 6 performances)", "TQ_Appel_03");
  
  logoList[i++] = new makeLogo("Macky Auditorium Centennial Anniversary Ornament", "ornamentweb");
  
  logoList[i++] = new makeLogo("Il teatro del Friuli & Rossini&#39;s La cambiale di matrimonio", "cambialesm");
  logoList[i++] = new makeLogo("The Marriage of Figaro", "figarosmall");
  logoList[i++] = new makeLogo("Gianni Schicchi & Suor Angelica", "schicchi&suorsm");
  
  logoList[i++] = new makeLogo("Spring Swing with CU Jazz Ensemble 1", "SS");
  logoList[i++] = new makeLogo("Ballet Hispanico", "AS1");
  logoList[i++] = new makeLogo("Yamato", "AS2");
  logoList[i++] = new makeLogo("Irish Chamber Orchestra with Leon Fleisher", "AS3");
  logoList[i++] = new makeLogo("Vienna Boys Choir", "AS4");
  logoList[i++] = new makeLogo("A New Orleans Christmas", "AS5");
  logoList[i++] = new makeLogo("Pilobolus", "AS6");
  logoList[i++] = new makeLogo("Tango Meets Jazz: Pablo Ziegler Ensemble with Stefon Harris", "AS7");
  logoList[i++] = new makeLogo("András Schiff", "AS8");
  logoList[i++] = new makeLogo("The Importance of Being Earnest - Aquila Theatre", "AS9");
  logoList[i++] = new makeLogo("Jon Faddis", "AS10");
  logoList[i++] = new makeLogo("2011 Holiday Festival", "HF");
  
  logoList[i++] = new makeLogo("College of Music Special Events", "CollegeOfMusiclg");		
  
  logoList[i++] = new makeLogo("La Cambiale di Matrimonio", "cambialesm");
  logoList[i++] = new makeLogo("Gianni Schicchi and Suor Angelica", "schicchi&suorsm");
  logoList[i++] = new makeLogo("Macky Auditorium Centennial Anniversary Ornament", "ornamentweb");
     

/* --------------------------------------------------
	EXTRA LIST
-------------------------------------------------- */
	extraList = new Array;
	var i = 0;
	extraList[i++] = ""; // DO NOT remove
	extraList[i++] = "The ";
	extraList[i++] = "at ";
	extraList[i++] = "@ ";
	extraList[i++] = "vs ";
	extraList[i++] = "vs. ";
	extraList[i++] = " FAMILY 4 PACK";
	extraList[i++] = " - Family Four Packs";
	extraList[i++] = " - Group Tickets";
	extraList[i++] = " - Student Matinee";
	extraList[i++] = " Time TBA";
	
	// sort extraList, greatest length first
	extraList.sort(function(a,b) {
		return (a.length > b.length) ? -1 : 1;
	});

/* --------------------------------------------------
	FULL-SIZED IMAGES LIST
-------------------------------------------------- */
	fullsizeList = new Array;
	var i = 0;
//	fullsizeList[i++] = new makeLogo("Rutgers Student Test", "StudentShirt");

/* --------------------------------------------------
	GROUP LIST
-------------------------------------------------- */
	logoGroupList = new Array;
	var i = 0;
	/* custom code - hide sports logos
	logoGroupList[i++] = new makeLogo(new Array("F","FB","FBS","FBI","FB3","STFB"), "football");
	logoGroupList[i++] = new makeLogo(new Array("BB"), "baseball");
	logoGroupList[i++] = new makeLogo(new Array("SB"), "softball");
	logoGroupList[i++] = new makeLogo(new Array("MB","MBS","MBI"), "basketball");
	logoGroupList[i++] = new makeLogo(new Array("WB","WBS","WBI"), "basketball");
	logoGroupList[i++] = new makeLogo(new Array("V","VB","MVB","WVB"), "volleyball");
	logoGroupList[i++] = new makeLogo(new Array("H"), "hockey");
	logoGroupList[i++] = new makeLogo(new Array("SOC","SO","MS","WS"), "soccer");
	*/

	logoGroupList[i++] = new makeLogo(new Array("CLD"), "calendar");  
	
	//custom code, group logos
	logoGroupList[i++] = new makeLogo(new Array("AS"), "artist-series"); 
	logoGroupList[i++] = new makeLogo(new Array("OP"), "cu-opera"); 
	logoGroupList[i++] = new makeLogo(new Array("HF"), "holiday"); 
	logoGroupList[i++] = new makeLogo(new Array("ENS"), "takacs"); 	
	logoGroupList[i++] = new makeLogo(new Array("NOWJ", "NOWA", "NOW"), "cu_now");   
	logoGroupList[i++] = new makeLogo(new Array("NOWADG"), "dean_griffey"); 	
	

/* --------------------------------------------------
	MAIN LOGO FUNCTIONS
-------------------------------------------------- */
	function printLogo(name, group) {
		var logo = "";
		name = cleaner(name.toUpperCase());
		
		// remove appending dates/times (ie: "TITLE - Wed., Sept. 17 - 2pm")
		//name = name.replace(/(( |,|-|\(|\bon\b|\bat\b){0,2} ?\b(mon|tue(s)?|wed(nes)?|thu(r(s)?)?|fri|sat(ur)?|sun)(day)?\b\.?( morning| afternoon| eve| evening| mat)?\)?)?(( |,|-|\(|\bon\b|\bat\b){0,2} ?(\b(jan(uary)?|feb(ruary)?|mar(ch)?|apr(il)?|may|jun(e)?|jul(y)?|aug(ust)?|sep(t(ember)?)?|oct(ober)?|nov(ember)?|dec(ember)?)\b\.? \d{1,2}(th)?(,? ?(20)?\d{2})?\)?|\d{1,2}[/\- ]\d{1,2}([/\- ](20)?\d{2})?\)?))?(( |,|-|\(|\bon\b|\bat\b|@){0,2} ?\d{1,2}(:\d{2})? ?(a.?m.?|p.?m.?)\)?)?$/ig, "");
		
		// process extralist
		var extraName = name;
		for(var i=0; i<extraList.length; i++) {
			if(extraName.indexOf(extraList[i].toUpperCase())==0) {
				extraName = extraName.slice(extraList[i].length, extraName.length);
				break;
			}
		}
		for(var i=0; i<extraList.length; i++) {
			if(extraName.length - extraList[i].length>0 && extraName.indexOf(extraList[i].toUpperCase())==extraName.length - extraList[i].length) {
				extraName = extraName.slice(0, extraName.length - extraList[i].length);
				break;
			}
		}
		extraName = extraName.replace(/(( |,|-|\(|\bon\b|\bat\b){0,2} ?\b(mon|tue(s)?|wed(nes)?|thu(r(s)?)?|fri|sat(ur)?|sun)(day)?\b\.?( morning| afternoon| eve| evening| mat)?\)?)?(( |,|-|\(|\bon\b|\bat\b){0,2} ?(\b(jan(uary)?|feb(ruary)?|mar(ch)?|apr(il)?|may|jun(e)?|jul(y)?|aug(ust)?|sep(t(ember)?)?|oct(ober)?|nov(ember)?|dec(ember)?)\b\.? \d{1,2}(th)?(,? ?(20)?\d{2})?\)?|\d{1,2}[/\- ]\d{1,2}([/\- ](20)?\d{2})?\)?))?(( |,|-|\(|\bon\b|\bat\b|@){0,2} ?\d{1,2}(:\d{2})? ?(a.?m.?|p.?m.?)\)?)?$/ig, "");
		
		// find logo match (start from end for most recently added logos)
		for(var i=logoList.length-1; i>=0; i--) {
			var listName = logoList[i].oname.toUpperCase();
			if(name==cleaner(listName) || extraName==cleaner(listName)) {
				logo = logoList[i].ologo;
				break;
			}
		}
		
		// find logo based on group
		if(logo=="") {
			if(typeof(fullGroupList)!="undefined" && group!="") {
				while(logo=="" && group!="") {
					for(var k=0; k<logoGroupList.length; k++) {
						for(var l=0; l<logoGroupList[k].oname.length; l++) {
							if(logoGroupList[k].oname[l]==group) {
								logo = logoGroupList[k].ologo;
								break;
							}
						}
						if(logo!="") break;
					}
					if(logo!="") break;
					var parent = "";
					for(var i=0; i<fullGroupList.length; i++) {
						if(fullGroupList[i].code==group) {
							parent = fullGroupList[i].parent;
						}
					}
					group = parent;
				}
			} else {
				for(var k=0; k<logoGroupList.length; k++) {
					for(var l=0; l<logoGroupList[k].oname.length; l++) {
						if(logoGroupList[k].oname[l]==group) {
							logo = logoGroupList[k].ologo;
							break;
						}
					}
				}
			}
		}
		
		// set DEFAULT LOGO if still not assigned
		//custom code, hidden if(logo=="") logo = "na";
		
		// determine if full sized image exists
		var fullSize = "";
		for(var i=0; i < fullsizeList.length; i++) {
			var listName = fullsizeList[i].oname.toUpperCase();
			if(name==cleaner(listName) || extraName==cleaner(listName)) {
				fullSize = fullsizeList[i].ologo;
				break;
			}
		}
		
		var imgSrc = "";
		
		// create and return logo source
		if(logo!="") {
			if(typeof(logo)=="string") {
				imgSrc = '<img src="'+imageWWWPath+'/logos/'+logo+'.jpg" border="0" width="60" height="60" alt="'+extraName+'" align="absmiddle">';
			} else {
				for(var k=0; k<logo.length; k++) {
					imgSrc += '<img src="'+imageWWWPath+'/logos/'+logo[k]+'.jpg" border="0" width="60" height="60" alt="'+extraName+'" align="absmiddle"> ';
				}
			}
			if(fullSize!="" && group!="ticketTransfers") {
				imgSrc = '<a href="#" onclick="toggleFullSize(this); return false;" class="thumbHide">' + imgSrc + '<br><small style="white-space:nowrap"><img src="'+imageWWWPath+'/fullsize/mag.gif" border="0" width="11" height="11" align="absmiddle"> view large</small><span><img src="'+imageWWWPath+'/fullsize/'+fullSize+'.gif" border="0" alt="'+name+'"><br><small style="white-space:nowrap"><img src="'+imageWWWPath+'/fullsize/close.gif" border="0" width="11" height="11" align="absmiddle"> click to close</small></span></a>';
			}
		}
		return(imgSrc);
	}
	
	function toggleFullSize(thumb) {
		if(thumb.className=="thumbHide") {
			thumb.className = 'thumbShow';
		} else if(thumb.className=="thumbShow") {
			thumb.className = 'thumbHide';
		}
	}
	
	// print smaller logo for calendar
	function printCalLogo(name, group) {
		var imgSrc = printLogo(name, group);
		if(imgSrc!="") {
			imgSrc = imgSrc.replace(/width="60" height="60"/ig, 'width="40" height="40"');
			
			//remove full size code
			imgSrc = imgSrc.replace(/((<a href[^>]+>){1}|(<br>(<([^>]+)>)+ view large(<([^>]+)>)+ click to close(<([^>]+)>)+))/ig, "");
		}
		return(imgSrc);
	}
	
	// print very small logo
	function printSmallLogo(name, group) {
		var imgSrc = printLogo(name, group);
		if(imgSrc!="") {
			imgSrc = imgSrc.replace(/width="60" height="60"/ig, 'width="30" height="30" align="absmiddle"');
			
			//remove full size code
			imgSrc = imgSrc.replace(/((<a href[^>]+>){1}|(<br>(<([^>]+)>)+ view large(<([^>]+)>)+ click to close(<([^>]+)>)+))/ig, "");
		}
		return(imgSrc);
	}
	
