
categories = new Array( );
characters = new Array( );

function category(pid, catid, name, locked) {
	this.pid = pid
	this.catid = catid
	this.name = name
	this.locked = locked
}

function character(charid, catid, charname) { 
	this.charid = charid
	this.catid = catid
	this.charname = charname
}

function setCategories( chosen ) {
	var category = chosen.options[chosen.selectedIndex].value; 

	var count = 0;
	for(x = 0; x < categories.length; x++) 
	{ 
		if(categories[x].pid == category) count++; 
	}
	if(count) {
		chosen.options.length = 0;
		for(x = 0; x < categories.length; x++) {
			if(categories[x].pid == category || categories[x].catid == category) { 
				chosen.options[chosen.options.length] = new Option(categories[x].name, categories[x].catid); 
			}
		}
		if(category != -1) { 
			chosen.options[chosen.options.length] = new Option(lang['Back2Cat'], '-1');
			chosen.options.selectedIndex = 0;
		}
		else { 
			chosen.options[chosen.options.length] = new Option(lang['ChooseCat'], '-1');
			chosen.options.selectedIndex = chosen.options.length - 1;
			
		}
	}
}

function clearSelectedCategory( chosen ) {
	chosen.options.length = 0;
}

function setSelectedCategory( chosen ) {
	newList = new Array(  );
	var category = chosen.options[chosen.selectedIndex].value; 
	var len = document.form.catid.options.length;

	for(x = 0; x < categories.length; x++) {
		if(categories[x].catid != category) continue;
		locked = categories[x].locked;
		break;
	}
	if(locked && document.form.formname.value == "stories") alert(lang['Locked']);
	else {
		document.form.catid[len] = new Option(chosen.options[chosen.selectedIndex].text, chosen.options[chosen.selectedIndex].value, chosen.options[chosen.selectedIndex].defaultSelected, true);

		if(document.form.formname.value != "admins") {
			var charname = document.form.charname;

			for(x = 0; x < characters.length; x++) {
				if(characters[x].catid == category) { 
					charname.options[charname.options.length] = new Option(characters[x].charname, characters[x].charname); 
				}
			}
		}
	}		
}
categories[0] = new category(-1, 15, "General", 0);
categories[1] = new category(-1, 3, "Het Pairings", 1);
categories[2] = new category(-1, 4, "Slash Pairings", 1);
categories[3] = new category(-1, 75, "Threesomes (or Moresomes)", 0);
categories[4] = new category(-1, 16, "Crossovers", 1);
categories[5] = new category(-1, 17, "RPF/RPS", 0);
categories[6] = new category(4, 78, "Cristina/Izzie", 0);
categories[7] = new category(4, 77, "Cristina/Addison", 0);
categories[8] = new category(4, 76, "Cristina/Meredith", 0);
categories[9] = new category(4, 66, "Izzie/Callie", 0);
categories[10] = new category(4, 64, "Izzie/Meredith", 0);
categories[11] = new category(4, 67, "Izzie/Other", 0);
categories[12] = new category(4, 63, "Addison/Callie", 0);
categories[13] = new category(4, 61, "Addison/Izzie", 0);
categories[14] = new category(4, 62, "Addison/Meredith", 0);
categories[15] = new category(4, 65, "Addison/Other", 0);
categories[16] = new category(4, 68, "Meredith/Callie", 0);
categories[17] = new category(4, 69, "Meredith/Other", 0);
categories[18] = new category(4, 71, "Alex/George", 0);
categories[19] = new category(4, 72, "Alex/Mark", 0);
categories[20] = new category(4, 73, "Derek/Mark", 0);
categories[21] = new category(4, 74, "Derek/Burke", 0);
categories[22] = new category(17, 57, "General", 0);
categories[23] = new category(17, 58, "Het Pairings", 0);
categories[24] = new category(17, 59, "Slash Pairings", 0);
categories[25] = new category(17, 60, "Threesomes, Moresomes or Bitextual", 0);
categories[26] = new category(3, 56, "George/Other", 0);
categories[27] = new category(3, 55, "Callie/Other", 0);
categories[28] = new category(3, 54, "Cristina/Other", 0);
categories[29] = new category(3, 53, "Burke/Other", 0);
categories[30] = new category(3, 52, "Izzie/Other", 0);
categories[31] = new category(3, 51, "Alex/Other", 0);
categories[32] = new category(3, 50, "Mark/Other", 0);
categories[33] = new category(3, 49, "Addison/Other", 0);
categories[34] = new category(3, 48, "Derek/Other", 0);
categories[35] = new category(3, 47, "Meredith/Other", 0);
categories[36] = new category(3, 46, "Callie/Burke", 0);
categories[37] = new category(3, 45, "Callie/Derek", 0);
categories[38] = new category(3, 44, "Callie/Alex", 0);
categories[39] = new category(3, 43, "Callie/Mark", 0);
categories[40] = new category(3, 42, "Callie/George", 0);
categories[41] = new category(3, 41, "Cristina/George", 0);
categories[42] = new category(3, 40, "Cristina/Derek", 0);
categories[43] = new category(3, 39, "Cristina/Mark", 0);
categories[44] = new category(3, 38, "Cristina/Alex", 0);
categories[45] = new category(3, 37, "Cristina/Burke", 0);
categories[46] = new category(3, 36, "Izzie/Burke", 0);
categories[47] = new category(3, 35, "Meredith/Burke", 0);
categories[48] = new category(3, 34, "Izzie/Derek", 0);
categories[49] = new category(3, 33, "Izzie/Mark", 0);
categories[50] = new category(3, 32, "Izzie/George", 0);
categories[51] = new category(3, 31, "Izzie/Alex", 0);
categories[52] = new category(3, 30, "Addison/George", 0);
categories[53] = new category(3, 29, "Addison/Burke", 0);
categories[54] = new category(3, 28, "Addison/Alex", 0);
categories[55] = new category(3, 27, "Addison/Mark", 0);
categories[56] = new category(3, 26, "Addison/Derek", 0);
categories[57] = new category(3, 25, "Meredith/George", 0);
categories[58] = new category(3, 24, "Meredith/Alex", 0);
categories[59] = new category(3, 23, "Meredith/Mark", 0);
categories[60] = new category(3, 22, "Meredith/Derek", 0);
categories[61] = new category(16, 21, "Threesomes/Moresomes/Bitextual", 0);
categories[62] = new category(16, 20, "Slash Pairings", 0);
categories[63] = new category(16, 19, "Het Pairings", 0);
categories[64] = new category(16, 18, "General", 0);
categories[65] = new category(69, 70, "Alex/George", 0);
characters[0] = new character(1, -1, "Addison Montgomery (-Shepherd)");
characters[1] = new character(2, -1, "Alex Karev");
characters[2] = new character(3, -1, "Calliope Torres");
characters[3] = new character(10, -1, "Cristina Yang");
characters[4] = new character(7, -1, "Derek Shepherd");
characters[5] = new character(5, -1, "George O'Malley");
characters[6] = new character(4, -1, "Isobel Stevens");
characters[7] = new character(8, -1, "Mark Sloan");
characters[8] = new character(6, -1, "Meredith Grey");
characters[9] = new character(12, -1, "Miranda Bailey");
characters[10] = new character(9, -1, "Preston Burke");
characters[11] = new character(11, -1, "Richard Webber");

