/* --------------------------------------------------
	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("EVANSVILLE", "evansville");
	logoList[i++] = new makeLogo("SOUTHERN ILLINOIS", "siu-siuc");
	logoList[i++] = new makeLogo("MISSOURI STATE", "smsu");
	logoList[i++] = new makeLogo("DRAKE", "drake");
	logoList[i++] = new makeLogo("CREIGHTON", "creighton");
	logoList[i++] = new makeLogo("NORTHERN IOWA", "uni");
	logoList[i++] = new makeLogo("BRADLEY", "bradley");
	logoList[i++] = new makeLogo("EMPORIA STATE", "emporia");
	logoList[i++] = new makeLogo("ROCKHURST", "rockhurst");
	logoList[i++] = new makeLogo("TEXAS SOUTHERN", "tsu");
	logoList[i++] = new makeLogo("TEXAS PAN AMERICAN", "panam");
	logoList[i++] = new makeLogo("PANHANDLE STATE", "opsu");
	logoList[i++] = new makeLogo("PROVIDENCE", "providence");
	logoList[i++] = new makeLogo("NORTHWESTERN STATE", "nsula");
	logoList[i++] = new makeLogo("MIAMI (OHIO)", "muohio");
	logoList[i++] = new makeLogo("INDIANA ST.", "indstate");
	logoList[i++] = new makeLogo("ILLINOIS STATE", "ilstu");
	logoList[i++] = new makeLogo("SAN DIEGO STATE", "sdsu");
	logoList[i++] = new makeLogo("ARKANSAS PINE BLUFF", "uapb");
	logoList[i++] = new makeLogo("UMKC", "umkc");
	logoList[i++] = new makeLogo("NORTHERN ILLINOIS", "niu"); 
	logoList[i++] = new makeLogo("OKLAHOMA STATE", "okstate");
	logoList[i++] = new makeLogo("INDIANA STATE", "indstate");
	logoList[i++] = new makeLogo("Creighton", "creighton2");
	logoList[i++] = new makeLogo("Drake", "drake2");
	logoList[i++] = new makeLogo("SOUTHERN ILLINOIS", "southernillinois");	
	logoList[i++] = new makeLogo("GLOBETROTTERS", "bball");
	logoList[i++] = new makeLogo("JOURNEY CONCERT", "journey");
	logoList[i++] = new makeLogo("WNBA GAME", "wnba");
	logoList[i++] = new makeLogo("NICHOLLS STATE", "nich");
	logoList[i++] = new makeLogo("NORTH DAKOTA STATE", "ndsu");
	logoList[i++] = new makeLogo("SOUTHERN UTAH", "suu");
	logoList[i++] = new makeLogo("NORTH DAKOTA STATE", "ndsu");
	logoList[i++] = new makeLogo("FORDHAM", "fordham");
	logoList[i++] = new makeLogo("ARKANSAS", "uark");
	logoList[i++] = new makeLogo("KANSAS", "ku");
	logoList[i++] = new makeLogo("ORAL ROBERTS", "oru");
	logoList[i++] = new makeLogo("KANSAS STATE", "ksu");
	logoList[i++] = new makeLogo("OKLAHOMA", "ou");
	logoList[i++] = new makeLogo("NORTHERN COLORADO", "northerncolorado");
	logoList[i++] = new makeLogo("LOUISIANA TECH", "latech");
	logoList[i++] = new makeLogo("TEXAS-SAN ANTONIO", "utsa");
	logoList[i++] = new makeLogo("EASTERN WASHINGTON", "ewu");
	logoList[i++] = new makeLogo("SYRACUSE", "syr");
	logoList[i++] = new makeLogo("CREIGHTON", "creighton");
	logoList[i++] = new makeLogo("VOLLEYBALL SEASON 06", "volleyball");
	logoList[i++] = new makeLogo("WSU TOURNAMENT", "volleyball");
	logoList[i++] = new makeLogo("SYRACUSE VS. EASTERN WASHINGTON", "volleyball");
	logoList[i++] = new makeLogo("TEXAS-SAN ANTONIO VS. SYRACUSE", "volleyball");
	logoList[i++] = new makeLogo("EASTERN WASHINGTON VS. LOUISIANA TECH", "volleyball");
	logoList[i++] = new makeLogo("TEXAS-SAN ANTONIO VS. LOUISIANA TECH", "volleyball");
	logoList[i++] = new makeLogo("SYRACUSE VS. LOUISIANA TECH", "volleyball");
	logoList[i++] = new makeLogo("TEXAS-SAN ANTONIO VS. EASTERN WASHINGTON", "volleyball");
	logoList[i++] = new makeLogo("FORT HAYS STATE", "fhsu");
	logoList[i++] = new makeLogo("CHICAGO STATE", "csu");
	logoList[i++] = new makeLogo("MARYLAND EASTERN SHORE", "umes");
	logoList[i++] = new makeLogo("KENNESAW STATE", "kennesaw");
	logoList[i++] = new makeLogo("HOFSTRA", "hofstra");
	logoList[i++] = new makeLogo("PACIFIC", "uop");
	logoList[i++] = new makeLogo("PRAIRIE VIEW A&M", "pvamu");
	logoList[i++] = new makeLogo("NEW MEXICO STATE", "nmsu");
	logoList[i++] = new makeLogo("JACKSON STATE", "jsums");
	logoList[i++] = new makeLogo("UNI", "uni");
	logoList[i++] = new makeLogo("RICHMOND", "richmond");
	logoList[i++] = new makeLogo("PENN STATE", "psu");
	logoList[i++] = new makeLogo("LONG BEACH STATE", "csulb");
	logoList[i++] = new makeLogo("ARKANSAS-PINE BLUFF", "uapb");
	logoList[i++] = new makeLogo("NEBRASKA", "unl");
	logoList[i++] = new makeLogo("SOUTH ALABAMA", "southalabama");
	logoList[i++] = new makeLogo("CAL STATE FULLERTON", "fullerton");
	logoList[i++] = new makeLogo("BASEBALL SEASON TICKET", "wichita");
	logoList[i++] = new makeLogo("10 GAME MINI PACK", "wichita");  
	logoList[i++] = new makeLogo("ARKANSAS TECH", "arktech");
	logoList[i++] = new makeLogo("PITTSBURG STATE", "pittstate");
	logoList[i++] = new makeLogo("WYOMING", "uwyo");
	logoList[i++] = new makeLogo("UMBC", "umbc");
	logoList[i++] = new makeLogo("UNIVERSITY OF TEXAS ARLINGTON", "uta");
	logoList[i++] = new makeLogo("LOUISIANA STATE UNIVERSITY", "lsu");
	logoList[i++] = new makeLogo("UNIVERSITY OF ALABAMA BIRMINGHAM", "uab");	
	logoList[i++] = new makeLogo("WESTERN ILLINOIS", "wiu");	
	logoList[i++] = new makeLogo("TEXAS STATE", "texas_state");	
	logoList[i++] = new makeLogo("WINTHROP", "winthrop");	
	logoList[i++] = new makeLogo("FLORIDA A&M", "famu");
	logoList[i++] = new makeLogo("CENTENARY", "centenary");
	logoList[i++] = new makeLogo("GARDNER-WEBB", "gardner-webb");
	logoList[i++] = new makeLogo("NORTHERN ARIZONA UNIVERSITY", "northernArizona");
	logoList[i++] = new makeLogo("NORTH DAKOTA", "und");														 
	logoList[i++] = new makeLogo("UTSA", "utsa");
	logoList[i++] = new makeLogo("IONA", "iona");
	logoList[i++] = new makeLogo("APPALACHIAN STATE", "appstate");
	logoList[i++] = new makeLogo("ARKANSAS-PB", "uapb");
	logoList[i++] = new makeLogo("KENT STATE", "kent");
	logoList[i++] = new makeLogo("MERCER", "mercer"); 	
	logoList[i++] = new makeLogo("VOLLEYBALL MVC ALL SESSION TICKET", "missouri_valley");
	logoList[i++] = new makeLogo("TOURNAMENT FIRST ROUND", "missouri_valley");
	logoList[i++] = new makeLogo("TOURNAMENT SEMIFINALS", "missouri_valley");
	logoList[i++] = new makeLogo("TOURNAMENT CHAMPIONSHIP", "missouri_valley");
	logoList[i++] = new makeLogo("NORTH DAKOTA ST", "ndsu");
	logoList[i++] = new makeLogo("BYU", "byu");
	logoList[i++] = new makeLogo("HARVARD", "harvard");
	logoList[i++] = new makeLogo("PEPPERDINE", "pepperdine");
	logoList[i++] = new makeLogo("TABOR COLLEGE", "tabor"); 
	logoList[i++] = new makeLogo("TULSA", "utulsa"); 	
	logoList[i++] = new makeLogo("ALL-SESSION TICKET", "volleyball_medals");
	logoList[i++] = new makeLogo("USA VOLLEYBALL DAY 1", "volleyball_medals");
	logoList[i++] = new makeLogo("USA VOLLEYBALL DAY 2", "volleyball_medals"); 	  
	
	logoList[i++] = new makeLogo("FAIRLEIGH DICKINSON", "fdu-madison");
	logoList[i++] = new makeLogo("ARKANSAS-MONTICELLO", "uamont");
	logoList[i++] = new makeLogo("ALCORN STATE", "alcorn");
	logoList[i++] = new makeLogo("SOUTH CAROLINA-UPSTATE", "usc_upstate");
	logoList[i++] = new makeLogo("TCU", "tcu");
	logoList[i++] = new makeLogo("TEXAS TECH", "ttu");	
	logoList[i++] = new makeLogo("NEWMAN", "newmanu");
	logoList[i++] = new makeLogo("LA SALLE", "lasalle");
	logoList[i++] = new makeLogo("SOUTH DAKOTA", "usd");
	logoList[i++] = new makeLogo("LOYOLA", "loyola");
	logoList[i++] = new makeLogo("SIU EDWARDSVILLE", "siue"); 
	
	

/* --------------------------------------------------
	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;
	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");

/* --------------------------------------------------
	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}(,? ?(20)?\d{2})?\)?|\d{1,2}[/\- ]\d{1,2}([/\- ](20)?\d{2})?\)?))?(( |,|-|\(|\bon\b|\bat\b){0,2} ?\d{1,2}(:\d{2})? ?(am|pm)\)?)?$/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;
			}
		}
		
		// 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
		//if(logo=="") logo = "na";	 //custom code, no default logo 
		
		// 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+'.gif" border="0" width="60" height="60" alt="'+name+'">';
			} else {
				for(var k=0; k<logo.length; k++) {
					imgSrc += '<img src="'+imageWWWPath+'/logos/'+logo[k]+'.gif" border="0" width="60" height="60" alt="'+name+'"> ';
				}
			}
			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);
	}