
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, 28, "StarGate FanAward Winners", 0);
categories[1] = new category(-1, 27, "Team Stargate", 0);
categories[2] = new category(-1, 6, "Alternate Universe", 0);
categories[3] = new category(-1, 26, "Non-English", 0);
categories[4] = new category(-1, 1, "Default", 0);
categories[5] = new category(-1, 8, "Friendship", 0);
categories[6] = new category(-1, 25, "Pre-Series", 0);
categories[7] = new category(-1, 24, "Future Story", 0);
categories[8] = new category(-1, 23, "Episode Tag", 0);
categories[9] = new category(-1, 22, "Episode Missing Scene", 0);
categories[10] = new category(-1, 21, "Hurt/Comfort", 0);
categories[11] = new category(-1, 20, "Crossover", 0);
categories[12] = new category(-1, 19, "Drama", 0);
categories[13] = new category(-1, 18, "Action", 0);
categories[14] = new category(-1, 17, "Reference Materials", 0);
categories[15] = new category(-1, 14, "Multimedia,Videos", 0);
categories[16] = new category(-1, 13, "Poetry", 0);
categories[17] = new category(-1, 12, "Holiday", 0);
categories[18] = new category(-1, 11, "Adventure", 0);
categories[19] = new category(-1, 10, "Drabbles", 0);
categories[20] = new category(-1, 5, "PWP", 0);
categories[21] = new category(-1, 4, "Romance", 0);
categories[22] = new category(-1, 2, "Humour", 0);
categories[23] = new category(27, 30, "Other", 0);
categories[24] = new category(27, 29, "MGM Announcements", 0);
categories[25] = new category(4, 7, "UST", 0);
categories[26] = new category(4, 15, "Angst", 0);
categories[27] = new category(4, 9, "Established Relationship", 0);
characters[0] = new character(46, -1, "'new' SG-1");
characters[1] = new character(47, -1, "Agent Barett");
characters[2] = new character(40, -1, "Anise");
characters[3] = new character(13, -1, "Anubis");
characters[4] = new character(4, -1, "Apophis");
characters[5] = new character(37, -1, "Baal");
characters[6] = new character(5, -1, "Braitac");
characters[7] = new character(22, -1, "Cameron Mitchell");
characters[8] = new character(6, -1, "Cassandra Fraiser");
characters[9] = new character(3, -1, "Daniel Jackson");
characters[10] = new character(26, -1, "Fifth");
characters[11] = new character(41, -1, "Freya");
characters[12] = new character(9, -1, "Gen. George Hammond");
characters[13] = new character(11, -1, "Harry Maybourne");
characters[14] = new character(31, -1, "Hathor");
characters[15] = new character(2, -1, "Jack O'Neill");
characters[16] = new character(7, -1, "Jacob Carter");
characters[17] = new character(30, -1, "Janet Fraiser");
characters[18] = new character(12, -1, "Jonas Quinn");
characters[19] = new character(17, -1, "Kerry Johnson");
characters[20] = new character(25, -1, "Kynthia");
characters[21] = new character(16, -1, "Laira");
characters[22] = new character(19, -1, "Loki");
characters[23] = new character(42, -1, "Maj. Gen. Hank Landry");
characters[24] = new character(18, -1, "Martouf");
characters[25] = new character(27, -1, "MiniJack");
characters[26] = new character(28, -1, "MiniSam");
characters[27] = new character(23, -1, "Narim");
characters[28] = new character(15, -1, "Oma Desala");
characters[29] = new character(20, -1, "Orlin");
characters[30] = new character(34, -1, "Osiris");
characters[31] = new character(29, -1, "Other");
characters[32] = new character(14, -1, "Pete Shanahan");
characters[33] = new character(24, -1, "RepliCarter");
characters[34] = new character(1, -1, "Samantha Carter");
characters[35] = new character(43, -1, "Sarah Gardner");
characters[36] = new character(39, -1, "Sen. Robert Kinsey");
characters[37] = new character(32, -1, "Seth");
characters[38] = new character(45, -1, "SG-1");
characters[39] = new character(44, -1, "Shar'e");
characters[40] = new character(48, -1, "Skiffy");
characters[41] = new character(8, -1, "Teal'c");
characters[42] = new character(10, -1, "Thor");
characters[43] = new character(21, -1, "Vala");

