var GPageBody='';
var ansStruct = new Array();
ansStruct = ['A','B','C','D'];

function startAdmin()
{
	displayAdminNav();
}

function displayAdminNav()
{
	if (document.getElementById('navSpot')) {
		var pageBody = document.getElementById('navSpot');
		if (document.getElementById('contentSpot'))
			GPageBody=document.getElementById('contentSpot');
		var d = document.createElement('div');
		d.setAttribute('class','subNav');
		d.style.backgroundColor='gray';
		// -----
// 		var ul = document.createElement('ul');
// 		ul.style.listStyle='none';
// 		var li = document.createElement('li');
// 		li.setAttribute('class','liNav');

		var tmplink='<a href="javascript:;" onClick="new_pres()">New Presentation</a>';
		var span=document.createElement('span');
		span.innerHTML=tmplink;
// 		li.innerHTML=tmplink;
// 		ul.appendChild(li);
		d.appendChild(span);
		// -----
// 		li = document.createElement('li');
// 		li.setAttribute('class','liNav');
		tmplink='<a href="javascript:;" onClick="chooseQuiz()">New Quiz</a>';
		var span=document.createElement('span');
		span.innerHTML=tmplink;
// 		li.innerHTML=tmplink;
// 		ul.appendChild(li);
// 		d.appendChild(ul);
		d.appendChild(span);
		// -----
		// -----
		pageBody.appendChild(d);
	}
	else
		alert('dont got it ' );
}

function chooseQuiz()
{
	if (GPageBody)
	{
		var url='../view_xml_quizes.php';
		var xmldoc=ajaxPHP(url,2);
		if (xmldoc)
			var d = quizNameList(xmldoc);

		GPageBody.appendChild(d);
	}
}

function quizNameList(xmldoc)
{
	var d = document.createElement('div');
	d.style.position='relative';
	d.style.top='70px';

	var select = document.createElement('select');
	select.setAttribute('id','dd_quizName');
	select.setAttribute('onChange','getWhichQuiz()');
	var op = document.createElement('option');
	op.value = 'Choose';
	op.innerHTML = 'Choose Quiz to edit:';
	select.appendChild(op);
	
	op = document.createElement('option');
	op.value = 'new';
	op.innerHTML = 'NEW QUIZ';
	select.appendChild(op);

	for (var i=0; i < xmldoc.getElementsByTagName("fName").length; i++){
		var fname = xmldoc.getElementsByTagName("fName")[i].childNodes[0].nodeValue;
		op = document.createElement('option');
		op.value = fname;
		op.innerHTML = fname;
		select.appendChild(op);
	}
	d.appendChild(select);

	return d;
}

function getWhichQuiz()
{
	if (document.getElementById('dd_quizName'))
	{
		var whichQuiz = (document.getElementById('dd_quizName').value);

		switch (whichQuiz)
		{
		case 'new':
			enterQuizName();
		break;
		default:
			new_question(whichQuiz);
		break;
		}

	}
}

function enterQuizName()
{
if (document.getElementById('contentSpot'))
{
	var spot = document.getElementById('contentSpot');
	spot.innerHTML = '';
	var d = document.createElement('div');
	d.style.position='relative';
	d.style.top='70px';
// 	d.style.borderStyle='solid';
	var input = document.createElement('input');
	input.setAttribute('type','text');
	input.setAttribute('id','txtQuizName');
	var l = document.createElement('label');
	l.htmlFor = 'txtQuizName';
	l.innerHTML = 'Enter quiz name: ';
	d.appendChild(l);
	d.appendChild(input);
	miniD = document.createElement('div');
	var s = document.createElement('span');
	s.innerHTML = '<a href="javascript:;" onClick="getInputedQuizName()">Done</a>';
	miniD.appendChild(s);
	d.appendChild(miniD);
	spot.appendChild(d);
}
}

function getInputedQuizName()
{
	if (document.getElementById('txtQuizName').value)
	{
		new_question(document.getElementById('txtQuizName').value);
	} else alert('Please enter quiz name.');
}

function new_question(whichQuiz)
{
	if (GPageBody) {
		GPageBody.innerHTML = '';
		var d = document.createElement('div');
		d.style.position = 'relative';
		d.style.top='70px';
// 		d.style.borderStyle='solid';
// 		var hd = document.createElement('div');
		var hd = document.getElementById('statusSpot');
		var s = document.createElement('span');
		s.innerHTML = 'Editing '+whichQuiz;
		hd.appendChild(s);
// 		d.appendChild(hd);
		var t = document.createElement('table');
		var b = document.createElement('tbody');
		t.appendChild(b);
		var r = document.createElement('tr');
		var c = document.createElement('td');
		var l = document.createElement('label');
		// --------
		l.innerHTML='Enter question text:';
		var input = document.createElement('textarea');
		input.id = 'txtQuestion';
		l.htmlFor = 'txtQuestion';
		c.appendChild(l);
		r.appendChild(c);
		c = document.createElement('td');
		c.appendChild(input);
		r.appendChild(c);
		b.appendChild(r);
		// --------
		buildAnswerInput(b,'a1','Answer 1:');
		buildAnswerInput(b,'a2','Answer 2:');
		buildAnswerInput(b,'a3','Answer 3:');
		buildAnswerInput(b,'a4','Answer 4:');
		buildAnswerInput(b,'correctAns','Correct Answer:',1,'  (Input Answer No.)');
		// --------
		r = document.createElement('tr');
		c = document.createElement('td');
		var tmplink = '<a href="javascript:;" onClick="previewQuestion()">Preview</a>';
		c.innerHTML = tmplink;
		r.appendChild(c);
		// ---
		c = document.createElement('td');
		var tmplink = '<a href="javascript:;" onClick="saveQuestion(\''+whichQuiz+'\')">Save</a>';
		c.innerHTML = tmplink;
		r.appendChild(c);
		// ---
		b.appendChild(r);
		// --------
		d.appendChild(t);
		GPageBody.appendChild(d);
	}
	else alert('no bOdy');
}

function buildAnswerInput(b,id,text,len,afterItemText){
	var c = document.createElement('td');
	var r = document.createElement('tr');
	var l = document.createElement('label');
	var input = document.createElement('input');
	input.type='text';
	input.id=id;
	if (len) {
		input.setAttribute('size',len);
		input.setAttribute('maxlength',len);
	}
	l.htmlFor = id;
	l.innerHTML = text;
	c.appendChild(l);
	r.appendChild(c);
	c = document.createElement('td');
	c.appendChild(input);
	// ------
	if (afterItemText){
		l = document.createElement('label');
		l.htmlFor = id;
		l.innerHTML = afterItemText;
		c.appendChild(l);
	}
	// ------
	r.appendChild(c);
	b.appendChild(r);
}


function previewQuestion(){
	if (GPageBody) {
		if (document.getElementById('divPreview')){
			d = document.getElementById('divPreview');
			d.style.display='block';
		} else 
			var d = document.createElement('div');
		d.id='divPreview';
		d.setAttribute('align','center');
		d.style.borderStyle='solid';
		d.style.borderWidth='2px';
		var t = document.createElement('table');
		t.border=0;
		t.setAttribute('width','50%');
		var b = document.createElement('tbody');
		t.appendChild(b);
		var r = document.createElement('tr');
		var c = document.createElement('td');
		// ------ span
		var s = document.createElement('span');
		var ans = document.getElementById('correctAns').value-1;
		s.innerHTML = 'Correct Ans: '+ansStruct[ans];
		s.style.color='#cc0000';
		d.appendChild(s);
		// ------ 
		var l = document.createElement('label');
		// ----- question row
		if (document.getElementById('txtQuestion')){
			if (document.getElementById('txtQuestion').value)
				var question = document.getElementById('txtQuestion').value;
			else
				var question = 'input question to display';
			l.innerHTML='Q: '+question+'?';
			c.setAttribute('colspan',2);
			c.appendChild(l);
			r.appendChild(c);
			b.appendChild(r);
			// ----- answer row
			r = document.createElement('tr');
			c = document.createElement('td');
			for (var i = 1; i < 5; i++){
				var id = 'a'+i;
				if (document.getElementById(id).value)
					var val = document.getElementById(id).value
				else
					var val = 'input answer to display';
				var radio = document.createElement('input');
				radio.id=id+'_radio';
				radio.type='radio';
				radio.name='answers';
				radio.value=val;
				l = document.createElement('label');
				l.innerHTML = ansStruct[i-1]+' - '+val;
				l.htmlFor=id+'_radio';
				c.appendChild(radio);
				c.appendChild(l);
				r.appendChild(c);
				c = document.createElement('td');
				if (i == 2 || i == 4) {
					b.appendChild(r);
					r = document.createElement('tr');
				}
			}
			// ----- footer row
			r = document.createElement('tr');
			c = document.createElement('td');
			c.setAttribute('colspan',2);
			c.setAttribute('align','right');
			var tmplink = '<a href="#" onClick="previewDone()">Done</a>';
			c.innerHTML = tmplink;
			r.appendChild(c);
			b.appendChild(r);
		}
	d.appendChild(t);
	GPageBody.appendChild(d);
	}
}

function previewDone(){
	if (document.getElementById('divPreview')){
		document.getElementById('divPreview').innerHTML = '';
		document.getElementById('divPreview').style.display='none';
	}
}

function saveQuestion(qName){
	var okayToSave = true;
	var ansOps = new Array();

	if (document.getElementById('txtQuestion').value){
		var question = document.getElementById('txtQuestion').value;
// 		alert('question = '+question);
	} else okayToSave = false;

	for (var i = 1; i < 5; i++){
		var id = 'a'+i;
		if (document.getElementById(id).value){
			var val = document.getElementById(id).value;
			ansOps.push(val);
		}
		else {
			var val = 'NA';
			ansOps.push(val);
// 			alert('a'+i+' = '+val);
		}
	}

	if (document.getElementById('correctAns').value){
		var ans = document.getElementById('correctAns').value;
// 		alert(ans);
	} else okayToSave = false;

	if (!okayToSave) alert('Invalid Input. Please re-enter.');

	var qItem = new questionItem('!',question,ansOps,ans);

	storeQuestion(qItem,qName);
}

function ajaxPHP(url,key)
{
	if (window.XMLHttpRequest)
	{// code for IE7+, Firefox, Chrome, Opera, Safari
		xmlHTTP=new XMLHttpRequest();
		if (xmlHTTP.overrideMimeType)
			{xmlHTTP.overrideMimeType('text/xml');}
	}
	else
	{// code for IE6, IE5
		xmlHTTP=new ActiveXObject("Microsoft.xmlHTTP");
	}
	xmlHTTP.open("GET",url,false);
	xmlHTTP.send(null);
	if (key){/*alert('sending doc');*/return xmlHTTP.responseXML;}
}

function new_pres()
{
	if (document.getElementById('contentSpot')) {
		var spot = document.getElementById('contentSpot');

		var d = document.createElement('div');
// 		d.style.borderStyle='solid';
		d.style.position='relative';
		d.style.top='70px';
		var t = document.createElement('table');
		var b = document.createElement('tbody');
		t.appendChild(b);
		var r = document.createElement('tr');
		var c = document.createElement('td');
		var l = document.createElement('label');
		l.innerHTML='Enter question text:';
		// --------
		buildAnswerInput(b,'fName','File Name:');
		buildAnswerInput(b,'topic','Topic:');
		buildAnswerInput(b,'date','Date:');
		buildAnswerInput(b,'org','Organization:');
		buildAnswerInput(b,'desc','Description:');
		buildAnswerInput(b,'keywords','Keywords:',50,'  (Seperate with Commas)');
		// --------
		r = document.createElement('tr');
		c = document.createElement('td');
		c.setAttribute('colspan',2);
		c.setAttribute('height','10px');
		r.appendChild(c);
		b.appendChild(r);
		// --------
		r = document.createElement('tr');
		c = document.createElement('td');
		c.setAttribute('colspan',2);
		c.appendChild(buildQuizRadio());
		r.appendChild(c);
		b.appendChild(r);
		// --------
		r = document.createElement('tr');
		c = document.createElement('td');
		var tmplink = '<a href="javascript:;" onClick="previewQuestion()">Preview</a>';
		c.innerHTML = tmplink;
		r.appendChild(c);
		// ---
		c = document.createElement('td');
		var tmplink = '<a href="javascript:;" onClick="savePres()">Save</a>';
		c.innerHTML = tmplink;
		r.appendChild(c);
		// ---
		b.appendChild(r);
		// --------
		d.appendChild(t);
		spot.appendChild(d);
	}
}

function buildQuizRadio()
{
	var D = document.createElement('div');
	var url = 'view_xml_quizes.php';
	var xmldoc=ajaxPHP(url,2);
	if (xmldoc)
	{
		var d = document.createElement('div');
// 		d.style.borderStyle='solid';
		d.style.padding='4px';
		var s = document.createElement('span');
		s.innerHTML = 'Choose quiz files to associate with presentation:';
		d.appendChild(s);
		D.appendChild(d);
		d = document.createElement('div');
		d.style.padding='4px';
		for (var i=0; i < xmldoc.getElementsByTagName("fName").length; i++){
			var fname = xmldoc.getElementsByTagName("fName")[i].childNodes[0].nodeValue;

			var input = document.createElement('input');
			input.setAttribute('type','checkbox');
			input.setAttribute('id',fname);
			input.setAttribute('value',fname);
			input.setAttribute('name','cb_quizes');
			var l = document.createElement('label');
			l.htmlFor = fname;
			l.innerHTML = fname;
			d.appendChild(input);
			d.appendChild(l);
		}
		D.appendChild(d);
	}
	return D;
}

function savePres(){
	var okayToSave = true;
	var arrID = [ 'fName','topic','date','org','desc','keywords'];
	var arrAssQuizes = new Array();

	if (document.getElementById('fName').value){
		var fName = document.getElementById('fName').value;
	} else okayToSave = false;

	if (document.getElementById('topic').value){
		var topic = document.getElementById('topic').value;
	} else okayToSave = false;

	if (document.getElementById('date').value){
		var date = document.getElementById('date').value;
	} else okayToSave = false;

	if (document.getElementById('org').value){
		var org = document.getElementById('org').value;
	} else okayToSave = false;

	if (document.getElementById('desc').value){
		var desc = document.getElementById('desc').value;
	} else okayToSave = false;

	if (document.getElementById('keywords').value){
		var kw = document.getElementById('keywords').value;
	} else okayToSave = false;

	if (document.getElementsByName('cb_quizes')){
		var assQuizes = document.getElementsByName('cb_quizes');
		for (var j = 0; j < assQuizes.length; j++)
		{
			if (assQuizes[j].checked)
				arrAssQuizes.push(assQuizes[j].value);
		}
	}

	if (!okayToSave) alert('Invalid Input. Please re-enter.');
	else { 
		var pItem = new presItem('!',fName,topic,date,org,desc,kw,arrAssQuizes);
		storePres(pItem);
	}
}

function storePres(anItem)
{
	var url='../storePres.php';
	url+='?fName='+anItem.fName + '&topic='+anItem.topic + '&date='+anItem.date + '&org='+anItem.org + '&desc='+anItem.desc + '&keywords='+anItem.keywords;

	for (var i=0;i<anItem.linkTo.length;i++)
	{
		url+='&link[]='+anItem.linkTo[i];
	}

	alert(url);
	var xmldoc=ajaxPHP(url,2);
	if (xmldoc)
		alert('success');
}
