<!-- 
// (c) 2001-2007 Live365, Inc.  All rights reserved.

// Data related to genres

var cGenreName	= 0;
var cGenreID	= 1;
var cGenreAd	= 2;
var cGenreCt	= 3;

var gSpecialGenres = 7 + 1;

//
// Complete set of genres that appear in drop-down list
//
var gGenreData = new Array(
// START META_GENRES
"All Broadcasts",	"All",	"other",
"My Presets",	"Presets",	"other",
"Recommendations",	"Recommendations",	"other",
"Editor's Picks",	"ESP",	"other",
"Indy/Official",	"Indy%2fOfficial",	"other",
"Professional",	"Pro",	"other",
"Free Stations",	"Free",	"other",
	"----------------------",	"All",							"other",
// END META_GENRES
//	Genre Name					Genre ID						Ad Category
//	------------------------	-------------------------------	----------------
// START GENRE LIST
"Alternative",	"alternative",	"alternative",
"- Britpop",	"britpop",	"alternative",
"- Classic Alternative",	"classic%20alternative",	"alternative",
"- College",	"college",	"alternative",
"- Dancepunk",	"dancepunk",	"alternative",
"- Dream Pop",	"dream%20pop",	"alternative",
"- Emo",	"emo",	"alternative",
"- Goth",	"goth",	"alternative",
"- Grunge",	"grunge",	"alternative",
"- Indie Pop",	"indie%20pop",	"alternative",
"- Indie Rock",	"indie%20rock",	"alternative",
"- Industrial",	"industrial",	"alternative",
"- Lo-Fi",	"lo%2dfi",	"alternative",
"- Modern Rock",	"modern%20rock",	"alternative",
"- New Wave",	"new%20wave",	"alternative",
"- Noise Pop",	"noise%20pop",	"alternative",
"- Post-Punk",	"post%2dpunk",	"alternative",
"- Power Pop",	"power%20pop",	"alternative",
"- Punk",	"punk",	"alternative",
"Blues",	"blues",	"blues",
"- Acoustic Blues",	"acoustic%20blues",	"blues",
"- Chicago Blues",	"chicago%20blues",	"blues",
"- Contemporary Blues",	"contemporary%20blues",	"blues",
"- Country Blues",	"country%20blues",	"blues",
"- Delta Blues",	"delta%20blues",	"blues",
"- Electric Blues",	"electric%20blues",	"blues",
"- Cajun/Zydeco",	"cajun%2fzydeco",	"blues",
"Classical",	"classical",	"classical",
"- Baroque",	"baroque",	"classical",
"- Chamber",	"chamber",	"classical",
"- Choral",	"choral",	"classical",
"- Classical Period",	"classical%20period",	"classical",
"- Early Classical",	"early%20classical",	"classical",
"- Impressionist",	"impressionist",	"classical",
"- Modern",	"modern",	"classical",
"- Opera",	"opera",	"classical",
"- Piano",	"piano",	"classical",
"- Romantic",	"romantic",	"classical",
"- Symphony",	"symphony",	"classical",
"Country",	"country",	"country",
"- Alt-Country",	"alt%2dcountry",	"country",
"- Americana",	"americana",	"country",
"- Bluegrass",	"bluegrass",	"country",
"- Classic Country",	"classic%20country",	"country",
"- Contemporary Bluegrass",	"contemporary%20bluegrass",	"country",
"- Contemporary Country",	"contemporary%20country",	"country",
"- Honky Tonk",	"honky%20tonk",	"country",
"- Hot Country Hits",	"hot%20country%20hits",	"country",
"- Western",	"western",	"country",
"Easy Listening",	"easy%20listening",	"easy",
"- Exotica",	"exotica",	"easy",
"- Lounge",	"lounge",	"easy",
"- Orchestral Pop",	"orchestral%20pop",	"easy",
"- Polka",	"polka",	"easy",
"- Space Age Pop",	"space%20age%20pop",	"easy",
"Electronic/Dance",	"electronic%2fdance",	"electronic",
"- Acid House",	"acid%20house",	"electronic",
"- Ambient",	"ambient",	"electronic",
"- Big Beat",	"big%20beat",	"electronic",
"- Breakbeat",	"breakbeat",	"electronic",
"- Disco",	"disco",	"electronic",
"- Downtempo",	"downtempo",	"electronic",
"- Drum 'n' Bass",	"drum%26bass",	"electronic",
"- Electro",	"electro",	"electronic",
"- Garage",	"garage",	"electronic",
"- Hard House",	"hard%20house",	"electronic",
"- House",	"house",	"electronic",
"- IDM",	"idm",	"electronic",
"- Jungle",	"jungle",	"electronic",
"- Progressive",	"progressive",	"electronic",
"- Techno",	"techno",	"electronic",
"- Trance",	"trance",	"electronic",
"- Tribal",	"tribal",	"electronic",
"- Trip Hop",	"trip%20hop",	"electronic",
"Folk",	"folk",	"folk",
"- Alternative Folk",	"alternative%20folk",	"folk",
"- Contemporary Folk",	"contemporary%20folk",	"folk",
"- Folk Rock",	"folk%20rock",	"folk",
"- New Acoustic",	"new%20acoustic",	"folk",
"- Traditional Folk",	"traditional%20folk",	"folk",
"- World Folk",	"world%20folk",	"folk",
"Freeform",	"freeform",	"other",
"- Chill",	"chill",	"other",
"- Experimental",	"experimental",	"other",
"- Heartache",	"heartache",	"other",
"- Love/Romance",	"love%2fromance",	"other",
"- Music To ... To",	"music%20to%20%2e%2e%2e%20to",	"other",
"- Party Mix",	"party%20mix",	"other",
"- Patriotic",	"patriotic",	"other",
"- Rainy Day Mix",	"rainy%20day%20mix",	"other",
"- Reality",	"reality",	"other",
"- Shuffle/Random",	"shuffle%2frandom",	"other",
"- Travel Mix",	"travel%20mix",	"other",
"- Trippy",	"trippy",	"other",
"- Various",	"various",	"other",
"- Women",	"women",	"other",
"- Work Mix",	"work%20mix",	"other",
"Hip-Hop/Rap",	"hip%2dhop%2frap",	"hiphop",
"- Alternative Rap",	"alternative%20rap",	"hiphop",
"- Dirty South",	"dirty%20south",	"hiphop",
"- East Coast Rap",	"east%20coast%20rap",	"hiphop",
"- Freestyle",	"freestyle",	"hiphop",
"- Gangsta Rap",	"gangsta%20rap",	"hiphop",
"- Old School",	"old%20school",	"hiphop",
"- Turntablism",	"turntablism",	"hiphop",
"- Underground Hip-Hop",	"underground%20hip%2dhop",	"hiphop",
"- West Coast Rap",	"west%20coast%20rap",	"hiphop",
"Inspirational",	"inspirational",	"inspirational",
"- Christian",	"christian",	"inspirational",
"- Christian Metal",	"christian%20metal",	"inspirational",
"- Christian Rap",	"christian%20rap",	"inspirational",
"- Christian Rock",	"christian%20rock",	"inspirational",
"- Classic Christian",	"classic%20christian",	"inspirational",
"- Contemporary Gospel",	"contemporary%20gospel",	"inspirational",
"- Gospel",	"gospel",	"inspirational",
"- Praise/Worship",	"praise%2fworship",	"inspirational",
"- Sermons/Services",	"sermons%2fservices",	"inspirational",
"- Southern Gospel",	"southern%20gospel",	"inspirational",
"- Traditional Gospel",	"traditional%20gospel",	"inspirational",
"International",	"international",	"international",
"- African",	"african",	"international",
"- Arabic",	"arabic",	"international",
"- Asian",	"asian",	"international",
"- Brazilian",	"brazilian",	"international",
"- Caribbean",	"caribbean",	"international",
"- Celtic",	"celtic",	"international",
"- European",	"european",	"international",
"- Filipino",	"filipino",	"international",
"- Greek",	"greek",	"international",
"- Hawaiian/Pacific",	"hawaiian%2fpacific",	"international",
"- Hindi",	"hindi",	"international",
"- Indian",	"indian",	"international",
"- Japanese",	"japanese",	"international",
"- Jewish",	"jewish",	"international",
"- Mediterranean",	"mediterranean",	"international",
"- Middle Eastern",	"middle%20eastern",	"international",
"- North American",	"north%20american",	"international",
"- Soca",	"soca",	"international",
"- South American",	"south%20american",	"international",
"- Tamil",	"tamil",	"international",
"- Worldbeat",	"worldbeat",	"international",
"- Zouk",	"zouk",	"international",
"Jazz",	"jazz",	"jazz",
"- Acid Jazz",	"acid%20jazz",	"jazz",
"- Avant Garde",	"avant%20garde",	"jazz",
"- Big Band",	"big%20band",	"jazz",
"- Bop",	"bop",	"jazz",
"- Classic Jazz",	"classic%20jazz",	"jazz",
"- Cool Jazz",	"cool%20jazz",	"jazz",
"- Fusion",	"fusion",	"jazz",
"- Hard Bop",	"hard%20bop",	"jazz",
"- Latin Jazz",	"latin%20jazz",	"jazz",
"- Smooth Jazz",	"smooth%20jazz",	"jazz",
"- Swing",	"swing",	"jazz",
"- Vocal Jazz",	"vocal%20jazz",	"jazz",
"- World Fusion",	"world%20fusion",	"jazz",
"Latin",	"latin",	"latin",
"- Bachata",	"bachata",	"latin",
"- Banda",	"banda",	"latin",
"- Bossa Nova",	"bossa%20nova",	"latin",
"- Cumbia",	"cumbia",	"latin",
"- Latin Dance",	"latin%20dance",	"latin",
"- Latin Pop",	"latin%20pop",	"latin",
"- Latin Rap/Hip-Hop",	"latin%20rap%2fhip%2dhop",	"latin",
"- Latin Rock",	"latin%20rock",	"latin",
"- Mariachi",	"mariachi",	"latin",
"- Merengue",	"merengue",	"latin",
"- Ranchera",	"ranchera",	"latin",
"- Salsa",	"salsa",	"latin",
"- Tango",	"tango",	"latin",
"- Tejano",	"tejano",	"latin",
"- Tropicalia",	"tropicalia",	"latin",
"Metal",	"metal",	"metal",
"- Extreme Metal",	"extreme%20metal",	"metal",
"- Heavy Metal",	"heavy%20metal",	"metal",
"- Industrial Metal",	"industrial%20metal",	"metal",
"- Pop Metal/Hair",	"pop%20metal%2fhair",	"metal",
"- Rap Metal",	"rap%20metal",	"metal",
"New Age",	"new%20age",	"newage",
"- Environmental",	"environmental",	"newage",
"- Ethnic Fusion",	"ethnic%20fusion",	"newage",
"- Healing",	"healing",	"newage",
"- Meditation",	"meditation",	"newage",
"- Spiritual",	"spiritual",	"newage",
"Oldies",	"oldies",	"oldies",
"- 30s",	"30s",	"oldies",
"- 40s",	"40s",	"oldies",
"- 50s",	"50s",	"oldies",
"- 60s",	"60s",	"oldies",
"- 70s",	"70s",	"oldies",
"- 80s",	"80s",	"oldies",
"- 90s",	"90s",	"oldies",
"Pop",	"pop",	"pop",
"- Adult Contemporary",	"adult%20contemporary",	"pop",
"- Barbershop",	"barbershop",	"pop",
"- Bubblegum Pop",	"bubblegum%20pop",	"pop",
"- Dance Pop",	"dance%20pop",	"pop",
"- JPOP",	"jpop",	"pop",
"- Soft Rock",	"soft%20rock",	"pop",
"- Teen Pop",	"teen%20pop",	"pop",
"- Top 40",	"top%2040",	"pop",
"- World Pop",	"world%20pop",	"pop",
"R&B/Urban",	"r%26b%2furban",	"urban",
"- Classic R&B",	"classic%20r%26b",	"urban",
"- Contemporary R&B",	"contemporary%20r%26b",	"urban",
"- Doo Wop",	"doo%20wop",	"urban",
"- Funk",	"funk",	"urban",
"- Motown",	"motown",	"urban",
"- Neo-Soul",	"neo%2dsoul",	"urban",
"- Quiet Storm",	"quiet%20storm",	"urban",
"- Soul",	"soul",	"urban",
"- Urban Contemporary",	"urban%20contemporary",	"urban",
"Reggae",	"reggae",	"reggae",
"- Contemporary Reggae",	"contemporary%20reggae",	"reggae",
"- Dancehall",	"dancehall",	"reggae",
"- Dub",	"dub",	"reggae",
"- Pop-Reggae",	"pop%2dreggae",	"reggae",
"- Ragga",	"ragga",	"reggae",
"- Reggaeton",	"reggaeton",	"reggae",
"- Rock Steady",	"rock%20steady",	"reggae",
"- Roots Reggae",	"roots%20reggae",	"reggae",
"- Ska",	"ska",	"reggae",
"Rock",	"rock",	"rock",
"- Adult Album Alternative",	"adult%20album%20alternative",	"rock",
"- British Invasion",	"british%20invasion",	"rock",
"- Classic Rock",	"classic%20rock",	"rock",
"- Garage Rock",	"garage%20rock",	"rock",
"- Glam",	"glam",	"rock",
"- Hard Rock",	"hard%20rock",	"rock",
"- Jam Bands",	"jam%20bands",	"rock",
"- Prog/Art Rock",	"prog%2fart%20rock",	"rock",
"- Psychedelic",	"psychedelic",	"rock",
"- Rock & Roll",	"rock%26roll",	"rock",
"- Rockabilly",	"rockabilly",	"rock",
"- Singer/Songwriter",	"singer%2fsongwriter",	"rock",
"- Surf",	"surf",	"rock",
"Seasonal/Holiday",	"seasonal%2fholiday",	"seasonal",
"- Anniversary",	"anniversary",	"seasonal",
"- Birthday",	"birthday",	"seasonal",
"- Christmas",	"christmas",	"seasonal",
"- Halloween",	"halloween",	"seasonal",
"- Hanukkah",	"hanukkah",	"seasonal",
"- Honeymoon",	"honeymoon",	"seasonal",
"- Valentine",	"valentine",	"seasonal",
"- Wedding",	"wedding",	"seasonal",
"Soundtracks",	"soundtracks",	"soundtracks",
"- Anime",	"anime",	"soundtracks",
"- Children's/Family",	"children%27s%2ffamily",	"soundtracks",
"- Original Score",	"original%20score",	"soundtracks",
"- Showtunes",	"showtunes",	"soundtracks",
"Talk",	"talk",	"talk",
"- Comedy",	"comedy",	"talk",
"- Community",	"community",	"talk",
"- Educational",	"educational",	"talk",
"- Government",	"government",	"talk",
"- News",	"news",	"talk",
"- Old Time Radio",	"old%20time%20radio",	"talk",
"- Other Talk",	"other%20talk",	"talk",
"- Political",	"political",	"talk",
"- Scanner",	"scanner",	"talk",
"- Spoken Word",	"spoken%20word",	"talk",
"- Sports",	"sports",	"talk"
// END GENRE LIST
);


function GetGenreData(index, which)
{
	if (GetGenreData.arguments.length < 2)
		which = 0;

	if (index < 0 || index >= gGenreData.length/cGenreCt)
		index = 0;

	return gGenreData[(cGenreCt*index)+which];
}


function GetGenreName(index)
{
	return GetGenreData(index, cGenreName);
}


function GetGenreID(index)
{
	return GetGenreData(index, cGenreID);
}


function GetGenreAd(index)
{
	return GetGenreData(index, cGenreAd);
}


function DrawNamedGenreSelections(boxName, prompt1, action, current, showSpecials, tabIndex, tlgs, selectclass)
{
	var i;
	var cur;
	var extra = "";
	
	if (!boxName)
		boxName = "MainCategoryBox";

	if (!prompt1)
		prompt1 = "-- Pick a genre --";

	// Checks to see if parameters for function have been specified.
	// If not, appends '()' to end.
		
	if (action) {
		extra += ' onchange="' + action;
		if (action.indexOf('(') < 1)
			extra += '()';
		extra += '"';
	}
	
	if (tabIndex)
		extra += ' tabindex=' + tabIndex;

	if (!current)
		current = "All";
	
	if (!selectclass)
		selectclass = 'searchinput';
	
	cur = GetGenreIndex(current);

	var localGenreData = (tlgs) ? GetTLGs() : gGenreData;

	document.writeln('<SELECT NAME=' + boxName + extra + ' class=' + selectclass + '>');
	document.writeln('<OPTION VALUE="" class=' + selectclass + '>' + prompt1);

	for (i = (showSpecials || tlgs) ? 0 : gSpecialGenres; i < localGenreData.length/cGenreCt; i++) {
		if (i == cur)
			extra = " SELECTED";
		else
			extra = "";

		document.writeln('<OPTION VALUE="' + decodeURIComponent(localGenreData[(i*cGenreCt)+cGenreID]) + '"' + extra + '>' + localGenreData[(i*cGenreCt)+cGenreName]);
	}

	document.writeln('</SELECT>');
}


function GetTLGs()
{
	var TLGs = new Array();
	for (i = gSpecialGenres; i < gGenreData.length/cGenreCt; i++) {
		if (gGenreData[(i*cGenreCt)+cGenreName].charAt(0) != '-') {
			TLGs.push(gGenreData[(i*cGenreCt)+cGenreName]);
			TLGs.push(gGenreData[(i*cGenreCt)+cGenreID]);
			TLGs.push(gGenreData[(i*cGenreCt)+cGenreAd]);
		}
	}
	return TLGs;
}


function GetTLG(id)
{
	var thisname = gGenreData[GetGenreIndex(id)*cGenreCt];
	if (thisname.indexOf("-") != 0)
		return id;
	else 
		return GetTLG(gGenreData[(GetGenreIndex(id)*cGenreCt)-2]);
}


function GetSubGenres(id)
{
    var subGenres = new Array();
	var TLGindex = GetGenreIndex(id) + 1;

	while (GetGenreName(TLGindex).indexOf('-') > -1) {
	   subGenres.push(GetGenreID(TLGindex));
	   TLGindex++;
	}
	
	return subGenres;
}


function CleanUpGenreString(genre)
{
	genre = genre.replace(/^\s+/g, "");
	genre = genre.replace(/\s+$/g, "");
	genre = genre.replace(/[ ]/g, "%20");
	genre = genre.replace(/[\&]/g, "%26");
	genre = genre.replace(/[\']/g, "%27");
	genre = genre.replace(/[\-]/g, "%2d");
	genre = genre.replace(/[\.]/g, "%2e");
    genre = genre.replace(/[\/]/g, "%2f");
	genre = genre.replace(/[\[]/g, "%5b");
	genre = genre.replace(/[\]]/g, "%5d");
	
	return genre;
}


function GetGenreIndex(genre)
{
	var i;
    
	if (!isNaN(genre))
		return genre;
		
	genre = CleanUpGenreString(genre);

	for (i = 0; i < gGenreData.length/cGenreCt; i++) {
		if (i == gSpecialGenres)
			genre = genre.toLowerCase();

		if (genre == gGenreData[(i*cGenreCt)+cGenreID])
			return i;
	}

	return -1;
}


function GetGenreNameFromId(id)
{
	var i;
	var name;
    var tag = id;

    if (id == "")
		tag = "All";

	tag = CleanUpGenreString(tag);

	for (i = 0; i < gGenreData.length/cGenreCt; i++) {
		if (i == gSpecialGenres)
			tag = tag.toLowerCase();

		if (tag == gGenreData[(i*cGenreCt)+cGenreID]) {
			name = gGenreData[(i*cGenreCt)+cGenreName];
			name = name.replace(/\- /, '');
			return name;
		}
	}

	return "Search Results";
}

// -->
