var agent     = navigator.userAgent.toLowerCase();
var is_ie     = ((agent.indexOf("msie") != -1) && (agent.indexOf("opera") == -1));
var is_opera  = (agent.indexOf("opera") != -1);
var is_mac    = (agent.indexOf("mac") != -1);
var is_mac_ie = (is_ie && is_mac);
var is_win_ie = (is_ie && !is_mac);
var is_safari = (agent.indexOf('safari') != -1 && is_mac);
var is_gecko  = (navigator.product == "Gecko");
var is_opera = (agent.indexOf("opera") != -1);
var is_firefox = (agent.indexOf("firefox") != -1);

var init_fns = new Array();


function addInitFunction(fn)
{
  if (init_fns instanceof Array) init_fns.push(fn);
}


var genres = new Array();
genres[1] = new Array();
genres[1]['name'] = 'Blues';
genres[1]['styles'] = new Array();
genres[1]['styles'][100] = new Array();
genres[1]['styles'][100]['name'] = 'Pop, Blues, Cabaret';
genres[1]['styles'][101] = new Array();
genres[1]['styles'][101]['name'] = 'Acoustic Blues';
genres[1]['styles'][102] = new Array();
genres[1]['styles'][102]['name'] = 'Blues Vocals';
genres[1]['styles'][103] = new Array();
genres[1]['styles'][103]['name'] = 'Chicago Style';
genres[1]['styles'][104] = new Array();
genres[1]['styles'][104]['name'] = 'Delta Style';
genres[1]['styles'][105] = new Array();
genres[1]['styles'][105]['name'] = 'Electric Blues';
genres[1]['styles'][106] = new Array();
genres[1]['styles'][106]['name'] = 'English Style';
genres[1]['styles'][107] = new Array();
genres[1]['styles'][107]['name'] = 'Funky Blues';
genres[1]['styles'][108] = new Array();
genres[1]['styles'][108]['name'] = 'Guitar Blues';
genres[1]['styles'][109] = new Array();
genres[1]['styles'][109]['name'] = 'Jazzy Blues';
genres[1]['styles'][110] = new Array();
genres[1]['styles'][110]['name'] = 'Mellow Blues';
genres[1]['styles'][111] = new Array();
genres[1]['styles'][111]['name'] = 'Piano Blues';
genres[1]['styles'][112] = new Array();
genres[1]['styles'][112]['name'] = 'Rhythm & Blues';
genres[1]['styles'][113] = new Array();
genres[1]['styles'][113]['name'] = 'Rockin Blues';
genres[1]['styles'][114] = new Array();
genres[1]['styles'][114]['name'] = 'Texas Style';
genres[2] = new Array();
genres[2]['name'] = 'Country';
genres[2]['styles'] = new Array();
genres[2]['styles'][200] = new Array();
genres[2]['styles'][200]['name'] = 'Bluegrass';
genres[2]['styles'][201] = new Array();
genres[2]['styles'][201]['name'] = 'Country Blues';
genres[2]['styles'][202] = new Array();
genres[2]['styles'][202]['name'] = 'Country Folk';
genres[2]['styles'][203] = new Array();
genres[2]['styles'][203]['name'] = 'Country Pop';
genres[2]['styles'][204] = new Array();
genres[2]['styles'][204]['name'] = 'Country Rock';
genres[2]['styles'][205] = new Array();
genres[2]['styles'][205]['name'] = 'Modern Country';
genres[2]['styles'][206] = new Array();
genres[2]['styles'][206]['name'] = 'Traditional Country';
genres[2]['styles'][207] = new Array();
genres[2]['styles'][207]['name'] = 'Western';
genres[2]['styles'][208] = new Array();
genres[2]['styles'][208]['name'] = 'Western Swing';
genres[3] = new Array();
genres[3]['name'] = 'Easy Listening';
genres[3]['styles'] = new Array();
genres[3]['styles'][300] = new Array();
genres[3]['styles'][300]['name'] = 'Background Music';
genres[3]['styles'][301] = new Array();
genres[3]['styles'][301]['name'] = 'Ballroom';
genres[3]['styles'][302] = new Array();
genres[3]['styles'][302]['name'] = 'Cabaret';
genres[3]['styles'][303] = new Array();
genres[3]['styles'][303]['name'] = 'Crooners/Vocals';
genres[3]['styles'][304] = new Array();
genres[3]['styles'][304]['name'] = 'Lounge';
genres[3]['styles'][305] = new Array();
genres[3]['styles'][305]['name'] = 'Love Songs';
genres[3]['styles'][306] = new Array();
genres[3]['styles'][306]['name'] = 'Mature';
genres[3]['styles'][307] = new Array();
genres[3]['styles'][307]['name'] = 'Mood Music';
genres[3]['styles'][308] = new Array();
genres[3]['styles'][308]['name'] = 'Musicals/Broadway';
genres[3]['styles'][309] = new Array();
genres[3]['styles'][309]['name'] = 'Soft Rock';
genres[4] = new Array();
genres[4]['name'] = 'Electronic';
genres[4]['styles'] = new Array();
genres[4]['styles'][400] = new Array();
genres[4]['styles'][400]['name'] = 'Ambient';
genres[4]['styles'][401] = new Array();
genres[4]['styles'][401]['name'] = 'Breakbeat/Breaks';
genres[4]['styles'][402] = new Array();
genres[4]['styles'][402]['name'] = 'Dance';
genres[4]['styles'][403] = new Array();
genres[4]['styles'][403]['name'] = 'Down Tempo';
genres[4]['styles'][404] = new Array();
genres[4]['styles'][404]['name'] = 'Drum n Bass/Jungle';
genres[4]['styles'][405] = new Array();
genres[4]['styles'][405]['name'] = 'Experimental';
genres[4]['styles'][406] = new Array();
genres[4]['styles'][406]['name'] = 'Funk';
genres[4]['styles'][407] = new Array();
genres[4]['styles'][407]['name'] = 'House';
genres[4]['styles'][408] = new Array();
genres[4]['styles'][408]['name'] = 'Industrial';
genres[4]['styles'][409] = new Array();
genres[4]['styles'][409]['name'] = 'Pop Crossover';
genres[4]['styles'][410] = new Array();
genres[4]['styles'][410]['name'] = 'Soundscapes';
genres[4]['styles'][411] = new Array();
genres[4]['styles'][411]['name'] = 'Techno';
genres[4]['styles'][412] = new Array();
genres[4]['styles'][412]['name'] = 'Trance';
genres[4]['styles'][413] = new Array();
genres[4]['styles'][413]['name'] = 'Trip Hop';
genres[4]['styles'][414] = new Array();
genres[4]['styles'][414]['name'] = 'Virtual Orchestra';
genres[5] = new Array();
genres[5]['name'] = 'Folk';
genres[5]['styles'] = new Array();
genres[5]['styles'][500] = new Array();
genres[5]['styles'][500]['name'] = 'Acid Folk';
genres[5]['styles'][501] = new Array();
genres[5]['styles'][501]['name'] = 'Angry';
genres[5]['styles'][502] = new Array();
genres[5]['styles'][502]['name'] = 'Celtic';
genres[5]['styles'][503] = new Array();
genres[5]['styles'][503]['name'] = 'Folk Blues';
genres[5]['styles'][504] = new Array();
genres[5]['styles'][504]['name'] = 'Folk Pop';
genres[5]['styles'][505] = new Array();
genres[5]['styles'][505]['name'] = 'Gentle';
genres[5]['styles'][506] = new Array();
genres[5]['styles'][506]['name'] = 'like Ani';
genres[5]['styles'][507] = new Array();
genres[5]['styles'][507]['name'] = 'like Joni';
genres[5]['styles'][508] = new Array();
genres[5]['styles'][508]['name'] = 'Modern Folk';
genres[5]['styles'][509] = new Array();
genres[5]['styles'][509]['name'] = 'Pagan';
genres[5]['styles'][510] = new Array();
genres[5]['styles'][510]['name'] = 'Political';
genres[5]['styles'][512] = new Array();
genres[5]['styles'][512]['name'] = 'Power-folk';
genres[5]['styles'][513] = new Array();
genres[5]['styles'][513]['name'] = 'Rock';
genres[5]['styles'][514] = new Array();
genres[5]['styles'][514]['name'] = 'Traditional Folk';
genres[6] = new Array();
genres[6]['name'] = 'Gospel';
genres[6]['styles'] = new Array();
genres[6]['styles'][600] = new Array();
genres[6]['styles'][600]['name'] = 'Contemporary Gospel';
genres[6]['styles'][601] = new Array();
genres[6]['styles'][601]['name'] = 'Country Gospel';
genres[6]['styles'][602] = new Array();
genres[6]['styles'][602]['name'] = 'Traditional Gospel';
genres[7] = new Array();
genres[7]['name'] = 'Hip Hop/Rap';
genres[7]['styles'] = new Array();
genres[7]['styles'][700] = new Array();
genres[7]['styles'][700]['name'] = 'Alternative Hip Hop';
genres[7]['styles'][701] = new Array();
genres[7]['styles'][701]['name'] = 'East Coast';
genres[7]['styles'][702] = new Array();
genres[7]['styles'][702]['name'] = 'Hardcore Rap';
genres[7]['styles'][703] = new Array();
genres[7]['styles'][703]['name'] = 'Hip Hop';
genres[7]['styles'][704] = new Array();
genres[7]['styles'][704]['name'] = 'Rap';
genres[7]['styles'][705] = new Array();
genres[7]['styles'][705]['name'] = 'Southern Style';
genres[7]['styles'][706] = new Array();
genres[7]['styles'][706]['name'] = 'Spiritual Rap';
genres[7]['styles'][707] = new Array();
genres[7]['styles'][707]['name'] = 'Trip Hop';
genres[7]['styles'][708] = new Array();
genres[7]['styles'][708]['name'] = 'West Coast Rap';
genres[7]['styles'][709] = new Array();
genres[7]['styles'][709]['name'] = 'White-Boy Rap';
genres[8] = new Array();
genres[8]['name'] = 'Inspirational';
genres[8]['styles'] = new Array();
genres[8]['styles'][800] = new Array();
genres[8]['styles'][800]['name'] = 'Choral Music';
genres[8]['styles'][801] = new Array();
genres[8]['styles'][801]['name'] = 'Christian';
genres[8]['styles'][802] = new Array();
genres[8]['styles'][802]['name'] = 'Holiday Music';
genres[8]['styles'][803] = new Array();
genres[8]['styles'][803]['name'] = 'Meditation';
genres[8]['styles'][804] = new Array();
genres[8]['styles'][804]['name'] = 'Religious';
genres[8]['styles'][805] = new Array();
genres[8]['styles'][805]['name'] = 'Spiritual';
genres[9] = new Array();
genres[9]['name'] = 'Jazz';
genres[9]['styles'] = new Array();
genres[9]['styles'][900] = new Array();
genres[9]['styles'][900]['name'] = 'Acid Jazz';
genres[9]['styles'][901] = new Array();
genres[9]['styles'][901]['name'] = 'Bebop';
genres[9]['styles'][902] = new Array();
genres[9]['styles'][902]['name'] = 'Big Band';
genres[9]['styles'][903] = new Array();
genres[9]['styles'][903]['name'] = 'Bossa Nova';
genres[9]['styles'][904] = new Array();
genres[9]['styles'][904]['name'] = 'Dixieland';
genres[9]['styles'][905] = new Array();
genres[9]['styles'][905]['name'] = 'Free Jazz';
genres[9]['styles'][906] = new Array();
genres[9]['styles'][906]['name'] = 'Jazz Fusion';
genres[9]['styles'][907] = new Array();
genres[9]['styles'][907]['name'] = 'Jazz Vocals';
genres[9]['styles'][908] = new Array();
genres[9]['styles'][908]['name'] = 'Latin Jazz';
genres[9]['styles'][909] = new Array();
genres[9]['styles'][909]['name'] = 'Ragtime';
genres[9]['styles'][910] = new Array();
genres[9]['styles'][910]['name'] = 'Smooth Jazz';
genres[9]['styles'][911] = new Array();
genres[9]['styles'][911]['name'] = 'Swing/Big Band';
genres[9]['styles'][912] = new Array();
genres[9]['styles'][912]['name'] = 'Traditional Jazz Combo';
genres[9]['styles'][913] = new Array();
genres[9]['styles'][913]['name'] = 'Weird Jazz';
genres[9]['styles'][914] = new Array();
genres[9]['styles'][914]['name'] = 'World Fusion';
genres[10] = new Array();
genres[10]['name'] = 'Kids/Family';
genres[10]['styles'] = new Array();
genres[10]['styles'][1000] = new Array();
genres[10]['styles'][1000]['name'] = 'Children\'s Pop';
genres[10]['styles'][1001] = new Array();
genres[10]['styles'][1001]['name'] = 'Children\'s Storytelling';
genres[10]['styles'][1002] = new Array();
genres[10]['styles'][1002]['name'] = 'General Children\'s Music';
genres[10]['styles'][1003] = new Array();
genres[10]['styles'][1003]['name'] = 'Kid Friendly';
genres[10]['styles'][1004] = new Array();
genres[10]['styles'][1004]['name'] = 'Lullabies';
genres[11] = new Array();
genres[11]['name'] = 'Latin';
genres[11]['styles'] = new Array();
genres[11]['styles'][1100] = new Array();
genres[11]['styles'][1100]['name'] = 'Bolero';
genres[11]['styles'][1101] = new Array();
genres[11]['styles'][1101]['name'] = 'Brazilian Jazz';
genres[11]['styles'][1102] = new Array();
genres[11]['styles'][1102]['name'] = 'Flamenco';
genres[11]['styles'][1103] = new Array();
genres[11]['styles'][1103]['name'] = 'Latin';
genres[11]['styles'][1104] = new Array();
genres[11]['styles'][1104]['name'] = 'Latin Jazz';
genres[11]['styles'][1105] = new Array();
genres[11]['styles'][1105]['name'] = 'Latin Pop';
genres[11]['styles'][1106] = new Array();
genres[11]['styles'][1106]['name'] = 'Latin Rap';
genres[11]['styles'][1107] = new Array();
genres[11]['styles'][1107]['name'] = 'Mambo';
genres[11]['styles'][1108] = new Array();
genres[11]['styles'][1108]['name'] = 'Mariachi';
genres[11]['styles'][1109] = new Array();
genres[11]['styles'][1109]['name'] = 'Merengue';
genres[11]['styles'][1110] = new Array();
genres[11]['styles'][1110]['name'] = 'Rock en Espanol';
genres[11]['styles'][1111] = new Array();
genres[11]['styles'][1111]['name'] = 'Salsa';
genres[11]['styles'][1112] = new Array();
genres[11]['styles'][1112]['name'] = 'Tango';
genres[11]['styles'][1113] = new Array();
genres[11]['styles'][1113]['name'] = 'Tejano';
genres[12] = new Array();
genres[12]['name'] = 'Metal';
genres[12]['styles'] = new Array();
genres[12]['styles'][1200] = new Array();
genres[12]['styles'][1200]['name'] = '70\'s Metal';
genres[12]['styles'][1201] = new Array();
genres[12]['styles'][1201]['name'] = '80\'s Metal';
genres[12]['styles'][1202] = new Array();
genres[12]['styles'][1202]['name'] = '90\'s Metal';
genres[12]['styles'][1203] = new Array();
genres[12]['styles'][1203]['name'] = 'Alternative Metal';
genres[12]['styles'][1204] = new Array();
genres[12]['styles'][1204]['name'] = 'Black Metal';
genres[12]['styles'][1205] = new Array();
genres[12]['styles'][1205]['name'] = 'Dark Ambient/Noise';
genres[12]['styles'][1206] = new Array();
genres[12]['styles'][1206]['name'] = 'Death Metal';
genres[12]['styles'][1207] = new Array();
genres[12]['styles'][1207]['name'] = 'Doom/Stoner Metal';
genres[12]['styles'][1208] = new Array();
genres[12]['styles'][1208]['name'] = 'Gothic Metal';
genres[12]['styles'][1209] = new Array();
genres[12]['styles'][1209]['name'] = 'Heavy Metal';
genres[12]['styles'][1210] = new Array();
genres[12]['styles'][1210]['name'] = 'Industrial Metal';
genres[12]['styles'][1211] = new Array();
genres[12]['styles'][1211]['name'] = 'Instrumental Metal';
genres[12]['styles'][1212] = new Array();
genres[12]['styles'][1212]['name'] = 'Metalcore';
genres[12]['styles'][1213] = new Array();
genres[12]['styles'][1213]['name'] = 'Power Metal';
genres[12]['styles'][1214] = new Array();
genres[12]['styles'][1214]['name'] = 'Progressive Metal';
genres[12]['styles'][1215] = new Array();
genres[12]['styles'][1215]['name'] = 'Rapcore';
genres[12]['styles'][1216] = new Array();
genres[12]['styles'][1216]['name'] = 'Thrash/Speed Metal';
genres[13] = new Array();
genres[13]['name'] = 'New Age';
genres[13]['styles'] = new Array();
genres[13]['styles'][1300] = new Array();
genres[13]['styles'][1300]['name'] = 'Ambient';
genres[13]['styles'][1301] = new Array();
genres[13]['styles'][1301]['name'] = 'Celtic New Age';
genres[13]['styles'][1302] = new Array();
genres[13]['styles'][1302]['name'] = 'Environmental';
genres[13]['styles'][1303] = new Array();
genres[13]['styles'][1303]['name'] = 'Healing';
genres[13]['styles'][1304] = new Array();
genres[13]['styles'][1304]['name'] = 'Meditation';
genres[13]['styles'][1305] = new Array();
genres[13]['styles'][1305]['name'] = 'New Age';
genres[14] = new Array();
genres[14]['name'] = 'Pop';
genres[14]['styles'] = new Array();
genres[14]['styles'][1403] = new Array();
genres[14]['styles'][1403]['name'] = '50\'s Pop';
genres[14]['styles'][1404] = new Array();
genres[14]['styles'][1404]['name'] = '60\'s Pop';
genres[14]['styles'][1405] = new Array();
genres[14]['styles'][1405]['name'] = '70\'s Pop';
genres[14]['styles'][1406] = new Array();
genres[14]['styles'][1406]['name'] = '80\'s Pop';
genres[14]['styles'][1407] = new Array();
genres[14]['styles'][1407]['name'] = '90\'s Pop';
genres[14]['styles'][1400] = new Array();
genres[14]['styles'][1400]['name'] = 'Adult Contemporary';
genres[14]['styles'][1408] = new Array();
genres[14]['styles'][1408]['name'] = 'Beatles-pop';
genres[14]['styles'][1409] = new Array();
genres[14]['styles'][1409]['name'] = 'British Pop';
genres[14]['styles'][1410] = new Array();
genres[14]['styles'][1410]['name'] = 'Bubblegum Pop';
genres[14]['styles'][1411] = new Array();
genres[14]['styles'][1411]['name'] = 'California Pop';
genres[14]['styles'][1412] = new Array();
genres[14]['styles'][1412]['name'] = 'Delicate';
genres[14]['styles'][1413] = new Array();
genres[14]['styles'][1413]['name'] = 'Folky Pop';
genres[14]['styles'][1414] = new Array();
genres[14]['styles'][1414]['name'] = 'New Wave';
genres[14]['styles'][1415] = new Array();
genres[14]['styles'][1415]['name'] = 'Party Pop';
genres[14]['styles'][1416] = new Array();
genres[14]['styles'][1416]['name'] = 'Piano';
genres[14]['styles'][1401] = new Array();
genres[14]['styles'][1401]['name'] = 'Political Pop';
genres[14]['styles'][1402] = new Array();
genres[14]['styles'][1402]['name'] = 'Pop Rock';
genres[14]['styles'][1417] = new Array();
genres[14]['styles'][1417]['name'] = 'Power Pop';
genres[14]['styles'][1418] = new Array();
genres[14]['styles'][1418]['name'] = 'Quirky';
genres[14]['styles'][1419] = new Array();
genres[14]['styles'][1419]['name'] = 'Today\'s Top 40';
genres[14]['styles'][1420] = new Array();
genres[14]['styles'][1420]['name'] = 'with Electronic Production';
genres[14]['styles'][1421] = new Array();
genres[14]['styles'][1421]['name'] = 'with Live-band Production';
genres[15] = new Array();
genres[15]['name'] = 'Rock';
genres[15]['styles'] = new Array();
genres[15]['styles'][1500] = new Array();
genres[15]['styles'][1500]['name'] = '50\'s Rock';
genres[15]['styles'][1501] = new Array();
genres[15]['styles'][1501]['name'] = '60\'s Rock';
genres[15]['styles'][1502] = new Array();
genres[15]['styles'][1502]['name'] = '70\'s Rock';
genres[15]['styles'][1503] = new Array();
genres[15]['styles'][1503]['name'] = '80\'s Rock';
genres[15]['styles'][1504] = new Array();
genres[15]['styles'][1504]['name'] = '90\'s Rock';
genres[15]['styles'][1505] = new Array();
genres[15]['styles'][1505]['name'] = 'Acoustic';
genres[15]['styles'][1506] = new Array();
genres[15]['styles'][1506]['name'] = 'Alternative';
genres[15]['styles'][1507] = new Array();
genres[15]['styles'][1507]['name'] = 'Americana';
genres[15]['styles'][1508] = new Array();
genres[15]['styles'][1508]['name'] = 'Classic';
genres[15]['styles'][1509] = new Array();
genres[15]['styles'][1509]['name'] = 'Emo';
genres[15]['styles'][1510] = new Array();
genres[15]['styles'][1510]['name'] = 'Extended Jams';
genres[15]['styles'][1511] = new Array();
genres[15]['styles'][1511]['name'] = 'Folk';
genres[15]['styles'][1512] = new Array();
genres[15]['styles'][1512]['name'] = 'Funk';
genres[15]['styles'][1513] = new Array();
genres[15]['styles'][1513]['name'] = 'Glam';
genres[15]['styles'][1514] = new Array();
genres[15]['styles'][1514]['name'] = 'Goth';
genres[15]['styles'][1515] = new Array();
genres[15]['styles'][1515]['name'] = 'Grunge';
genres[15]['styles'][1516] = new Array();
genres[15]['styles'][1516]['name'] = 'Hard';
genres[15]['styles'][1517] = new Array();
genres[15]['styles'][1517]['name'] = 'Instrumental';
genres[15]['styles'][1518] = new Array();
genres[15]['styles'][1518]['name'] = 'Jam-band';
genres[15]['styles'][1519] = new Array();
genres[15]['styles'][1519]['name'] = 'Math Rock';
genres[15]['styles'][1520] = new Array();
genres[15]['styles'][1520]['name'] = 'Metal';
genres[15]['styles'][1521] = new Array();
genres[15]['styles'][1521]['name'] = 'Modern';
genres[15]['styles'][1522] = new Array();
genres[15]['styles'][1522]['name'] = 'New Age Punk';
genres[15]['styles'][1523] = new Array();
genres[15]['styles'][1523]['name'] = 'Noise';
genres[15]['styles'][1524] = new Array();
genres[15]['styles'][1524]['name'] = 'Progressive Rock';
genres[15]['styles'][1525] = new Array();
genres[15]['styles'][1525]['name'] = 'Psychedelic';
genres[15]['styles'][1526] = new Array();
genres[15]['styles'][1526]['name'] = 'Punk';
genres[15]['styles'][1527] = new Array();
genres[15]['styles'][1527]['name'] = 'Rockabilly';
genres[15]['styles'][1528] = new Array();
genres[15]['styles'][1528]['name'] = 'Roots';
genres[15]['styles'][1529] = new Array();
genres[15]['styles'][1529]['name'] = 'Singer/Songwriter';
genres[15]['styles'][1530] = new Array();
genres[15]['styles'][1530]['name'] = 'Ska';
genres[15]['styles'][1531] = new Array();
genres[15]['styles'][1531]['name'] = 'Surf Rock';
genres[16] = new Array();
genres[16]['name'] = 'Spoken Word';
genres[16]['styles'] = new Array();
genres[16]['styles'][1600] = new Array();
genres[16]['styles'][1600]['name'] = 'Audiobook';
genres[16]['styles'][1601] = new Array();
genres[16]['styles'][1601]['name'] = 'Comedy';
genres[16]['styles'][1602] = new Array();
genres[16]['styles'][1602]['name'] = 'Instructional';
genres[16]['styles'][1603] = new Array();
genres[16]['styles'][1603]['name'] = 'Poetry';
genres[16]['styles'][1604] = new Array();
genres[16]['styles'][1604]['name'] = 'With Music';
genres[16] = new Array();
genres[16]['name'] = 'Urban/R&B/Soul';
genres[16]['styles'] = new Array();
genres[16]['styles'][1600] = new Array();
genres[16]['styles'][1600]['name'] = 'Contemporary urban';
genres[16]['styles'][1601] = new Array();
genres[16]['styles'][1601]['name'] = 'Funk';
genres[16]['styles'][1602] = new Array();
genres[16]['styles'][1602]['name'] = 'R&B Pop Crossover';
genres[16]['styles'][1603] = new Array();
genres[16]['styles'][1603]['name'] = 'R&B Rap mix';
genres[16]['styles'][1604] = new Array();
genres[16]['styles'][1604]['name'] = 'Rhythm & Blues';
genres[16]['styles'][1605] = new Array();
genres[16]['styles'][1605]['name'] = 'Soul';
genres[17] = new Array();
genres[17]['name'] = 'World';
genres[17]['styles'] = new Array();
genres[17]['styles'][1700] = new Array();
genres[17]['styles'][1700]['name'] = 'African';
genres[17]['styles'][1701] = new Array();
genres[17]['styles'][1701]['name'] = 'Americana';
genres[17]['styles'][1702] = new Array();
genres[17]['styles'][1702]['name'] = 'Asian';
genres[17]['styles'][1703] = new Array();
genres[17]['styles'][1703]['name'] = 'Australian';
genres[17]['styles'][1704] = new Array();
genres[17]['styles'][1704]['name'] = 'Brazilian';
genres[17]['styles'][1705] = new Array();
genres[17]['styles'][1705]['name'] = 'Cajun/Zydeco';
genres[17]['styles'][1706] = new Array();
genres[17]['styles'][1706]['name'] = 'Calypso';
genres[17]['styles'][1707] = new Array();
genres[17]['styles'][1707]['name'] = 'Cape Verdian';
genres[17]['styles'][1708] = new Array();
genres[17]['styles'][1708]['name'] = 'Celtic';
genres[17]['styles'][1709] = new Array();
genres[17]['styles'][1709]['name'] = 'Eastern European';
genres[17]['styles'][1710] = new Array();
genres[17]['styles'][1710]['name'] = 'Ethnic';
genres[17]['styles'][1711] = new Array();
genres[17]['styles'][1711]['name'] = 'Flamenco';
genres[17]['styles'][1712] = new Array();
genres[17]['styles'][1712]['name'] = 'Island';
genres[17]['styles'][1713] = new Array();
genres[17]['styles'][1713]['name'] = 'Judaica';
genres[17]['styles'][1714] = new Array();
genres[17]['styles'][1714]['name'] = 'Klezmer/Jewish';
genres[17]['styles'][1715] = new Array();
genres[17]['styles'][1715]['name'] = 'Middle East';
genres[17]['styles'][1716] = new Array();
genres[17]['styles'][1716]['name'] = 'Native American';
genres[17]['styles'][1717] = new Array();
genres[17]['styles'][1717]['name'] = 'Polka';
genres[17]['styles'][1718] = new Array();
genres[17]['styles'][1718]['name'] = 'Portuguese';
genres[17]['styles'][1719] = new Array();
genres[17]['styles'][1719]['name'] = 'Reggae';
genres[17]['styles'][1720] = new Array();
genres[17]['styles'][1720]['name'] = 'Samba';
genres[17]['styles'][1721] = new Array();
genres[17]['styles'][1721]['name'] = 'Spanish';
genres[17]['styles'][1722] = new Array();
genres[17]['styles'][1722]['name'] = 'Western European';
genres[17]['styles'][1723] = new Array();
genres[17]['styles'][1723]['name'] = 'World Beat';
genres[17]['styles'][1724] = new Array();
genres[17]['styles'][1724]['name'] = 'World Fusion';
genres[17]['styles'][1725] = new Array();
genres[17]['styles'][1725]['name'] = 'World Traditions';
genres[18] = new Array();
genres[18]['name'] = 'Misc';
genres[18]['styles'] = new Array();
genres[18]['styles'][1800] = new Array();
genres[18]['styles'][1800]['name'] = 'Acoustic';
genres[18]['styles'][1801] = new Array();
genres[18]['styles'][1801]['name'] = 'Books';
genres[18]['styles'][1802] = new Array();
genres[18]['styles'][1802]['name'] = 'Cabaret';
genres[18]['styles'][1803] = new Array();
genres[18]['styles'][1803]['name'] = 'Children\'s';
genres[18]['styles'][1804] = new Array();
genres[18]['styles'][1804]['name'] = 'Classical';
genres[18]['styles'][1805] = new Array();
genres[18]['styles'][1805]['name'] = 'Comedy';
genres[18]['styles'][1806] = new Array();
genres[18]['styles'][1806]['name'] = 'Compilation';
genres[18]['styles'][1807] = new Array();
genres[18]['styles'][1807]['name'] = 'Contemporary Classical';
genres[18]['styles'][1808] = new Array();
genres[18]['styles'][1808]['name'] = 'Contemporary Instrumental';
genres[18]['styles'][1809] = new Array();
genres[18]['styles'][1809]['name'] = 'Cover Band';
genres[18]['styles'][1810] = new Array();
genres[18]['styles'][1810]['name'] = 'Dance';
genres[18]['styles'][1811] = new Array();
genres[18]['styles'][1811]['name'] = 'Educational';
genres[18]['styles'][1812] = new Array();
genres[18]['styles'][1812]['name'] = 'Films/Movies';
genres[18]['styles'][1813] = new Array();
genres[18]['styles'][1813]['name'] = 'Gospel';
genres[18]['styles'][1814] = new Array();
genres[18]['styles'][1814]['name'] = 'High School Band';
genres[18]['styles'][1815] = new Array();
genres[18]['styles'][1815]['name'] = 'Instructional';
genres[18]['styles'][1816] = new Array();
genres[18]['styles'][1816]['name'] = 'Instrumental';
genres[18]['styles'][1817] = new Array();
genres[18]['styles'][1817]['name'] = 'New Age';
genres[18]['styles'][1818] = new Array();
genres[18]['styles'][1818]['name'] = 'Special';
genres[18]['styles'][1819] = new Array();
genres[18]['styles'][1819]['name'] = 'Spoken Word';
genres[18]['styles'][1820] = new Array();
genres[18]['styles'][1820]['name'] = 'Sports';
genres[18]['styles'][1821] = new Array();
genres[18]['styles'][1821]['name'] = 'Traditional';
genres[18]['styles'][1822] = new Array();
genres[18]['styles'][1822]['name'] = 'Uncategorizable';


function init()
{
  var i, f = document.forms['genre_styles'];

  if (f) if (genres) if (f.genres) if (f.styles)
  {
    loadCombo(f.genres, genres, 0, 'Genre');
    if (window.genre_id) setComboValue(f.genres, window.genre_id);
    handleGenre(f.genres);
    if (window.style_id) setComboValue(f.styles, window.style_id);
  }

  if (window.page_init) page_init();

  if (init_fns instanceof Array)
  {
    var i, fn;

    for (i = 0; i < init_fns.length; i++)
    {
      if ((fn = init_fns[i]) instanceof Function) fn();
    }	
  }
}

function handleGenre(genre, sub)
{
  var id = getComboValue(genre);

  if (sub) {} else sub = genre.form.styles;

  clearComboList(sub);

  if (id) if (genres)
  {
    loadCombo(sub, genres[id] ? genres[id]['styles'] : new Array(), 0, 'Style');
  }
}

function getComboValue(c)
{
  return c.selectedIndex >= 0 ? c.options[c.selectedIndex].value : -1;
}

function clearComboList(c)
{
  for (i = c.options.length - 1; i >= 0; i--) c.options[i] = null;
}

function loadCombo(combo, array, extra_value, extra_label)
{
  var value = getComboValue(combo);
  clearComboList(combo);
  if (extra_label) addComboOption(combo, extra_value, extra_label);
  for (key in array) addComboOption(combo, key, array[key]['name']);
  if (value >= 0) setComboValue(combo, value);
}

function addComboOption(c, value, text)
{
  var option = document.createElement("OPTION");
  if (!is_mac_ie) if (c.options.add) c.options.add(option); else c.add(option);
  option.innerText = option.text = text;
  option.value = value;

  if (is_mac_ie) c.options.add(option);
}