/* --------------------------------------------------
	Created:	March 6, 2007
	Purpose:	Functions to create and print logos. 
				Used primarily on:
				- displaySimpleEventList
				- displayGroupList 
-------------------------------------------------- */
	var defaultLogo = "wvu"; // custom code
	
	function makeLogo(name, logo, divider) {
		this.oname = name;
		this.ologo = logo;
		this.divider = (typeof(divider)!="undefined" && divider!="" ? divider : "");
	}

/* --------------------------------------------------
	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("USC", "usc");
	logoList[i++] = new makeLogo("UCLA", "ucla");
	logoList[i++] = new makeLogo("Cal", "berkeley");
	logoList[i++] = new makeLogo("Oregon", "uoregon");
	logoList[i++] = new makeLogo("Oregon State", "oregonstate");
	logoList[i++] = new makeLogo("Washington", "washington");
	logoList[i++] = new makeLogo("WOFFORD", "wofford");
	logoList[i++] = new makeLogo("EAST CAROLINA", "ecu");
	logoList[i++] = new makeLogo("VIRGINIA TECH", "vt");
	logoList[i++] = new makeLogo("LOUISVILLE", "louisville");
	logoList[i++] = new makeLogo("CONNECTICUT", "uconn");
	logoList[i++] = new makeLogo("PITTSBURGH", "pitt");
	logoList[i++] = new makeLogo("at SYRACUSE", "syr");
	logoList[i++] = new makeLogo("at RUTGERS", "rutgers");
	logoList[i++] = new makeLogo("at Maryland", "umd");
	logoList[i++] = new makeLogo("at CINCINNATI", "uc");
	logoList[i++] = new makeLogo("at SO FLORIDA", "usf");
	logoList[i++] = new makeLogo("EAST CAROLINIA", "ecu");
	logoList[i++] = new makeLogo("GUARDIAN CLASSIC", "guardiansClassic");
	logoList[i++] = new makeLogo("GUARDIANS CLASSIC", "guardiansClassic");
	logoList[i++] = new makeLogo("LSU", "lsu");
	logoList[i++] = new makeLogo("WASHINGTON & JEFFERSON", "wandj");
	logoList[i++] = new makeLogo("UMBC", "umbc");
	logoList[i++] = new makeLogo("DUQUESNE", "duq");
	logoList[i++] = new makeLogo("CANISIUS", "canisius");
	logoList[i++] = new makeLogo("GEORGETOWN", "georgetown");
	logoList[i++] = new makeLogo("MARQUETTE", "marquette");
	logoList[i++] = new makeLogo("PROVIDENCE", "providence");
	logoList[i++] = new makeLogo("NOTRE DAME", "nd");
	logoList[i++] = new makeLogo("CINCINNATI", "uc");
	logoList[i++] = new makeLogo("PITT", "pitt");
	logoList[i++] = new makeLogo("maryland", "umd");
	logoList[i++] = new makeLogo("so florida", "usf");
	logoList[i++] = new makeLogo("so flordia", "usf");
	logoList[i++] = new makeLogo("rutgers", "rutgers");
	logoList[i++] = new makeLogo("at East Carolina", "ecu");
	logoList[i++] = new makeLogo("at MISSISSIPPI ST", "msstate");
	logoList[i++] = new makeLogo("at UCONN", "uconn");
	logoList[i++] = new makeLogo("at PITT", "pitt");
	logoList[i++] = new makeLogo("MOUNT ST MARY&#39;S", "mount_stmarys");
	logoList[i++] = new makeLogo("SLIPPERY ROCK", "sru");
	logoList[i++] = new makeLogo("SAVANNAH ST", "savstate");
	logoList[i++] = new makeLogo("THE CITADEL", "citadel");
	logoList[i++] = new makeLogo("MARYLAND ES", "umes");
	logoList[i++] = new makeLogo("UCONN", "uconn");
	logoList[i++] = new makeLogo("VILLANOVA", "villanova");
	logoList[i++] = new makeLogo("ST JOHN&#39;S", "stjohns");
	logoList[i++] = new makeLogo("USF", "usf");
	logoList[i++] = new makeLogo("DE PAUL", "depaul");
	logoList[i++] = new makeLogo("SETON HALL", "shu"); 
	logoList[i++] = new makeLogo("MARYLAND EASTERN SHORE", "umes");
	logoList[i++] = new makeLogo("WINTHROP", "winthrop"); 
	logoList[i++] = new makeLogo("SYRACUSE", "syr");	
	logoList[i++] = new makeLogo("FIESTA BOWL", "fiesta");  
	logoList[i++] = new makeLogo("FIESTA BOWL PARKING", "fiesta");
	logoList[i++] = new makeLogo("VILLANOVA  FOOTBALL PROGRAM", "villanova2");
	logoList[i++] = new makeLogo("MARSHALL FOOTBALL PROGRAM", "marshall");
	logoList[i++] = new makeLogo("RUTGERS FOOTBALL PROGRAM", "rutgers2");
	logoList[i++] = new makeLogo("SYRACUSE FOOTBALL PROGRAM", "syr2");
	logoList[i++] = new makeLogo("AUBURN FOOTBALL  PROGRAM", "auburn2");
	logoList[i++] = new makeLogo("CINCINNATI FOOTBALL PROGRAM", "ucinn");
	logoList[i++] = new makeLogo("USF FOOTBALL PROGRAM", "south_fl");
	logoList[i++] = new makeLogo("2006 FOOTBALL HIGHLIGHT DVD", "football");
	logoList[i++] = new makeLogo("2006 BASKETBALL HIGHLIGHT DVD", "basketball");
	logoList[i++] = new makeLogo("2007 FOOTBALL HIGHLIGHT DVD", "football");	
	logoList[i++] = new makeLogo("CLEVELAND STATE", "csuohio");
	logoList[i++] = new makeLogo("ELON", "elon");
	logoList[i++] = new makeLogo("LONGWOOD", "longwood");
	logoList[i++] = new makeLogo("MIAMI, OHIO", "muohio");
	logoList[i++] = new makeLogo("RADFORD", "runet");	
	logoList[i++] = new makeLogo("MEINEKE CAR CARE BOWL", "meinekecarcare-bowl");	
	logoList[i++] = new makeLogo("LIBERTY", "liberty2");
	logoList[i++] = new makeLogo("COLORADO", "colorado");							
	
	logoList[i++] = new makeLogo("COPPIN STATE", "coppin");
	logoList[i++] = new makeLogo("MOUNTAIN STATE", "msu2");
	logoList[i++] = new makeLogo("LOYOLA", "loyola");
	logoList[i++] = new makeLogo("CHARLESTON", "charleston");
	logoList[i++] = new makeLogo("OLE MISS", "olemiss");

	logoList[i++] = new makeLogo("UNC PEMBROKE", "uncp");
	logoList[i++] = new makeLogo("OAKLAND", "oakland");
	logoList[i++] = new makeLogo("AMERICAN", "american");
	logoList[i++] = new makeLogo("ROBERT MORRIS", "Robert_Morris");
	logoList[i++] = new makeLogo("WALSH", "walsh");
	
	logoList[i++] = new makeLogo("ALL STATE SUGAR BOWL-JAN 4th-$140", "Sugar-Bowl");
	logoList[i++] = new makeLogo("AUTO ZONE LIBERTY BOWL-DEC 31st-$50", "Liberty-Bowl");
	logoList[i++] = new makeLogo("BEEF O'BRADY'S BOWL-DEC-21st-$30", "Beef-OBradys-Bowl");
	logoList[i++] = new makeLogo("BIRMINGHAM BOWL-JAN 8th-$50", "Birmingham-Bowl");
	logoList[i++] = new makeLogo("CHAMP'S SPORTS BOWL-DEC 28th-$65", "champs_sports_bowl");
	logoList[i++] = new makeLogo("DISCOVER ORANGE BOWL- PARKING-$20", "Orange-Bowl");
	logoList[i++] = new makeLogo("DISCOVER ORANGE BOWL-JAN 3rd-$160", "Orange-Bowl");
	logoList[i++] = new makeLogo("MEINEKE CAR CARE BOWL - DEC 31st - LOWER $70", "meineke-car-car-bowl");
	logoList[i++] = new makeLogo("MEINEKE CAR CARE BOWL - DEC 31st - UPPER $40", "meineke-car-car-bowl");
	logoList[i++] = new makeLogo("NEW ERA PINSTRIPE BOWL-DEC 30th-$100", "New-Era-Pinstripe-Bowl");
	logoList[i++] = new makeLogo("ROSE BOWL - JAN 1st - $145", "Rose-Bowl");
	logoList[i++] = new makeLogo("TOSTITOS FIESTA BOWL-JAN 1st - $155", "Fiesta-Bowl"); 	
	logoList[i++] = new makeLogo("CHAMPS SPORTS BOWL", "champs_sports_bowl");
	logoList[i++] = new makeLogo("PURDUE", "purdue");
	logoList[i++] = new makeLogo("PITT", "pitt2");
	logoList[i++] = new makeLogo("DEPAUL", "depaul");
	logoList[i++] = new makeLogo("U CONN", "uconn");
	logoList[i++] = new makeLogo("NORFOLK", "nsu");
	logoList[i++] = new makeLogo("BOWLING GREEN", "bgsu");
	logoList[i++] = new makeLogo("MARSHALL", "marshall");

	logoList[i++] = new makeLogo("NORTHERN KENTUCKY", "NorthernKentucky");
	logoList[i++] = new makeLogo("KENT STATE", "kent");
	logoList[i++] = new makeLogo("ALCORN ST", "alcorn2");
	logoList[i++] = new makeLogo("AKRON", "uakron");
	logoList[i++] = new makeLogo("MIAMI", "miami");
	logoList[i++] = new makeLogo("TEXAS A&M", "tamu");
	logoList[i++] = new makeLogo("TENN TECH", "tenntech");
	logoList[i++] = new makeLogo("TEXAS A&M CORPUS CHRISTI", "tamucc");
	logoList[i++] = new makeLogo("ORAL ROBERTS", "oru");
	logoList[i++] = new makeLogo("DISCOVER ORANGE BOWL $99", "orange_bowl");
	logoList[i++] = new makeLogo("ALL STATE SUGAR BOWL", "AllstateSugarBowl");
	logoList[i++] = new makeLogo("DISCOVER ORANGE BOWL PARKING", "orange_bowl");
	logoList[i++] = new makeLogo("DISCOVER ORANGE BOWL TICKETS FOR TROOPS", "VeteranTicketsFound");
	logoList[i++] = new makeLogo("DISCOVER ORANGE BOWL $165", "orange_bowl");
	logoList[i++] = new makeLogo("DISCOVER ORANGE BOWL $155", "orange_bowl");
	logoList[i++] = new makeLogo("DISCOVER ORANGE BOWL $120 ", "orange_bowl");

/* --------------------------------------------------
	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"), "foot");
	logoGroupList[i++] = new makeLogo(new Array("BB"), "wvu");
	logoGroupList[i++] = new makeLogo(new Array("SB"), "softball");
	logoGroupList[i++] = new makeLogo(new Array("MB","MBS","MBI","MBB"), "wvu");
	logoGroupList[i++] = new makeLogo(new Array("WB","WBS","WBI"), "wvu");
	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) {
		if(name=="" && group=="") return '';
		var logo = "";
		var divider = "";
		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| aft.?)?\)?)?(( |,|-|\(|\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| aft.?)?\)?)?(( |,|-|\(|\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;
				divider = logoList[i].divider;
				break;
			}
		}

		// custom code
		if(logo=="") {
			var str = name
			if (name.match("GATOR BOWL")) {
				logo = "gatorBowl_2008";
			} else if(name.indexOf("XXXXX") > -1) {
				logo = "xxxxx";
			}
		}
		// end cc
		
		// 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(cleaner(logoGroupList[k].oname[l])==cleaner(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 = defaultLogo;
		
		// 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" alt="'+extraName+'" class="logo" />'; // custom code (remove w/h)
			} else {
				for(var k=0; k<logo.length; k++) {
					if(k>0 && divider!="") {
						imgSrc += '<span class="logoDivider">'+divider+'</span>';
					} else {
						imgSrc += ' ';
					}
					imgSrc += '<img src="'+imageWWWPath+'/logos/'+logo[k]+'.gif" border="0" alt="'+extraName+'" class="logo" />'; // custom code (remove w/h)
				}
			}
			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 (for mini cart)
	function printSmallLogo(name, group) {
		var imgSrc = printLogo(name, group);
		if(imgSrc!="") {
			imgSrc = imgSrc.replace(/width="60" height="60"/ig, 'width="25" height="25" align="absmiddle"');
			
			//remove full size code
			imgSrc = imgSrc.replace(/((<a href[^>]+>){1}|(<br>(<([^>]+)>)+ view large(<([^>]+)>)+ click to close(<([^>]+)>)+))/ig, "");
		}
		return(imgSrc);
	}
