function solveProblem()
	{
	if(document.problemForm.question.value == "")
		{
		alert("You must enter a problem first!");
		return false;
		}

	var first = new Array( "Temporary","Intermittant","Partial","Redundant","Total","Multiplexed","Inherent","Duplicated","Dual-Homed",
				"Synchronous","Bidirectional","Serial","Asynchronous","Multiple","Replicated","Non-Replicated",
				"Unregistered","Non-Specific","Generic","Migrated","Localised","Resignalled","Dereferenced",
				"Nullified","Aborted","Serious","Minor","Major","Extraneous","Illegal","Insufficient","Viral",
				"Unsupported","Outmoded","Legacy","Permanent","Invalid","Deprecated","Virtual","Unreportable",
				"Undetermined","Undiagnosable","Unfiltered","Static","Dynamic","Delayed","Immediate","Nonfatal",
				"Fatal","Non-Valid","Unvalidated","Non-Static","Unreplicatable","Non-Serious");

	var second = new Array( "Array","Systems","Hardware","Software","Firmware","Backplane","Logic-Subsystem","Integrity",
				"Subsystem","Memory","Comms","Integrity","Checksum","Protocol","Parity","Bus","Timing","Synchronisation",
				"Topology","Transmission","Reception","Stack","Framing","Code","Programming","Peripheral","Environmental",
				"Loading","Operation","Parameter","Syntax","Initialisation","Execution","Resource","Encryption",
				"Decryption","File","Precondition","Authentication","Paging","Swapfile","Service","Gateway","Request",
				"Proxy","Media","Registry","Configuration","Metadata","Streaming","Retrieval","Installation",
				"Library","Handler");

	var third = new Array( "Interruption","Destabilisation","Destruction","Desynchronisation","Failure","Dereferencing",
				"Overflow","Underflow","NMI","Interrupt","Corruption","Anomoly","Seizure","Override","Reclock",
				"Rejection","Invalidation","Halt","Exhaustion","Infection","Incompatibility","Timeout",
				"Expiry","Unavailability","Bug","Condition","Crash","Dump","Crashdump","Stackdump",
				"Problem","Lockout");

	var fourth = new Array( "Error","Problem","Warning","Signal","Flag");
		
	var rnd = Math.floor(Math.random() * first.length);
	var a = first[rnd];

	var rnd = Math.floor(Math.random() * second.length);
	var b = second[rnd];

	var rnd = Math.floor(Math.random() * third.length);
	var c = third[rnd];

	var rnd = Math.floor(Math.random() * fourth.length);
	var d = fourth[rnd];

	var problem = "This is caused by:\n\n" + a + " " + b + " " + c;

	if(Math.floor(Math.random() * 3) < 2)
		problem = problem + " " + d;

	alert(problem);

	document.problemForm.question.value = '';

	return false;
	}


