
// Show the edit/add form
function showRow(rownr)
{
	show_error('');
	if(rownr=='add' && addQuestionForm==1)
	{
		hideRow(rowsAdded);
		return true;
	}

	if (rowsAdded)
	{
		hideRow(rowsAdded);
	}
	document.getElementById('editForm_'+rownr).style.display=(navigator.userAgent.indexOf('MSIE')!=-1 && navigator.userAgent.indexOf('Opera')==-1)?'block':'';
	if(rownr!='add')
	{
		document.getElementById("editLinkLeft_"+rownr).style.display = "none";
		document.getElementById("closeLinkLeft_"+rownr).style.display = "";
	}
	else
	{
		addQuestionForm=1;
	}
	rowsAdded = rownr;
}

// Hide the edit/add form
function hideRow(rownr)
{
	show_error('');
	document.getElementById('editForm_'+rownr).style.display='none';
	if(rownr!='add')
	{
		document.getElementById("editLinkLeft_"+rownr).style.display = "";
		document.getElementById("closeLinkLeft_"+rownr).style.display = "none";
	}
	addQuestionForm = 0;
	rowsAdded = 0;
}


// Saves a question
// A new one OR an existing one
function saveQuestion(rownr)
{
	show_error('');
	var question=document.getElementById('questionText_'+rownr).value;
	var answer=document.getElementById('answerText_'+rownr).value;
	var unit=document.getElementById('unit_'+rownr).value;
	var category=document.getElementById('category_'+rownr).value;
	var citation=document.getElementById('citation_'+rownr).value;
	var clue=document.getElementById('clue_'+rownr).value;

	var error='';
	if(question=='')
	{
		error += 'Please enter the question<br />';
	}
	
	if(answer=='')
	{
		error += 'Please enter the answer<br />';
	}
	else
	{
		if(isNaN(answer))
		{
			error += 'The answer must be a numeric value<br />';
			document.getElementById('answerText_'+rownr).focus();
		}
	}
	
	if(unit=='' || unit=='none')
	{
		error += 'Please select the measurement unit<br />';
	}
	if(error!='')
	{
		show_error(error);
		return false;
	}
	
	var params="print=1&question="+escape(question)+"&answer="+escape(answer)+"&unit="+escape(unit)+"&category="+escape(category)+"&citation="+escape(citation)+"&clue="+escape(clue)+"&question_id="+rownr+"&selected_quiz_id="+selected_quiz_id;
	var src = normalUrl+"quiz/user/v2/index.php?pn=ajax_save_question";
	var xhr;

	try
	{
		xhr = new XMLHttpRequest();
	}
	catch(e)
	{
		xhr = new ActiveXObject('Microsoft.XMLHTTP');
	}

	document.getElementById('ajax_image_'+rownr).style.visibility='visible';
	xhr.open('POST', src,  true);
	xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

	xhr.onreadystatechange  = function()
	{
		if(xhr.readyState  == 4)
		{
			if(xhr.status  == 200)
			{
				var response = xhr.responseText;
				if (response=='-1')
				{
					show_error("Question contains invalid html tags.<br>The list of approved HTML tags is: &lt;b&gt; &lt;i&gt; &lt;p&gt; &lt;br&gt; &lt;a&gt; &lt;ol&gt; &lt;ul&gt; &lt;li&gt; &lt;dl&gt; &lt;dt&gt; &lt;dd&gt; &lt;em&gt; &lt;strong&gt; &lt;tt&gt; &lt;blockquote&gt; &lt;div&gt;");
					try{document.getElementById('ajax_image_'+rownr).style.visibility='hidden';} catch(e){};
					return false;
				}
				if(response==true)
				{
					//					alert
					if(rownr!='add')
					{
						if(question.length>220)
						{
							question=question.substr(0, 220);
							question=question+'...';
						}
						document.getElementById('question_'+rownr).innerHTML=question;
						show_error("Question Successfully Saved");
					}
					else
					{
						questions_number++;
						if(Math.ceil(questions_number/client_rows_page)>max_question_pages)
						{
							max_question_pages=Math.ceil(questions_number/client_rows_page);
							document.getElementById('number_of_question_pages').innerHTML=max_question_pages;
						}
						addQuestionForm=0;
						changeQuestionPage(question_page);
						show_error("Question Successfully Added");
					}
					try{document.getElementById('ajax_image_'+rownr).style.visibility='hidden';} catch(e){};
				}
			}
		}
	}

	xhr.send(params);
}


// Add a question to a quiz
function addQuestionToQuiz(question_id)
{
	show_error('');
	var quiz_id=0;
	if(selected_quiz_id==0)
	{
		quiz_id=document.getElementById('quiz_id').value;
	}
	else
	{
		quiz_id=selected_quiz_id;
	}

	if(question_id=='')
	{
		var questions = new Array();

		var elements = document.getElementsByTagName('div');

		for(var i=0; i<elements.length; i++)
		{
			if(elements[i].getAttribute('name')!=null && elements[i].getAttribute('name').indexOf('q_checkbox_')==0 && elements[i].className=='checkboxChecked')
			{
				var value=new Array();
				value=elements[i].getAttribute('name').split('_');
				questions.push(value[2]);
			}
		}
		question_id=questions.join(';');
	}

	if(quiz_id<0)
	{
		show_error("Please select the quiz where you want to add the questions");
		return false;
	}
	if(question_id=='')
	{
		show_error("Please select the questions you want to add");
		return false;
	}
	var params = "print=1&question_id="+escape(question_id)+"&quiz_id="+escape(quiz_id);
	var src = normalUrl+"quiz/user/v2/index.php?pn=ajax_add_to_quiz";
	var xhr;

	try
	{
		xhr = new XMLHttpRequest();
	}
	catch(e)
	{
		xhr = new ActiveXObject('Microsoft.XMLHTTP');
	}

	//	document.getElementById('ajax_image_'+rownr).style.visibility='visible';
	xhr.open('POST', src,  true);
	xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

	xhr.onreadystatechange  = function()
	{
		if(xhr.readyState  == 4)
		{
			if(xhr.status  == 200)
			{
				var response = xhr.responseText;
				if(response)
				{
					show_error("Questions succesfuly added.");
					//show_error(question_id);
					if(question_id!='')
					{
						var ids=new Array();
						ids = question_id.split(';');
						for(var i=0; i<ids.length; i++)
						{
							document.getElementById('q_checkbox_'+ids[i]).className='checkboxChecked';
						}
					}

					//					if(question_id=='')
					//					{
					//						for(var i=0; i<elements.length; i++)
					//					   {
					//					   	if(elements[i].type == 'checkbox' && elements[i].name.indexOf('q_checkbox_')==0 && elements[i].checked==true)
					//					      {
					//								elements[i].checked=true;
					//					      }
					//					   }
					//					}
				}
			}
		}
	}

	xhr.send(params);
}

// Remove a question from a quiz
function removeQuestionFromQuiz(question_id)
{
	show_error('');
	var quiz_id=0;
	if(selected_quiz_id==0)
	{
		quiz_id=document.getElementById('quiz_id').value;
	}
	else
	{
		quiz_id=selected_quiz_id;
	}

	if(question_id=='')
	{
		var questions = new Array();

		var elements = document.getElementByTagNam('div');

		for(var i=0; i<elements.length; i++)
		{
			if(elements[i].getAttribute('name')!= null && elements[i].getAttribute('name').indexOf('q_checkbox_')==0 && elements[i].className=='checkboxChecked')
			{
				var value=new Array();
				value=elements[i].getAttribute('name').split('_');
				questions.push(value[2]);
			}
		}
		question_id=questions.join(';');
	}

	if(quiz_id<0)
	{
		show_error("Please select a quiz.");
		return false;
	}
	if(question_id=='')
	{
		show_error("Please select the questions you want to remove");
		return false;
	}
	var params = "print=1&question_id="+escape(question_id)+"&quiz_id="+escape(quiz_id)+"&remove=1";
	var src = normalUrl+"quiz/user/v2/index.php?pn=ajax_add_to_quiz";
	var xhr;

	try
	{
		xhr = new XMLHttpRequest();
	}
	catch(e)
	{
		xhr = new ActiveXObject('Microsoft.XMLHTTP');
	}

	//	document.getElementById('ajax_image_'+rownr).style.visibility='visible';
	xhr.open('POST', src,  true);
	xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

	xhr.onreadystatechange  = function()
	{
		if(xhr.readyState  == 4)
		{
			if(xhr.status  == 200)
			{
				var response = xhr.responseText;
				if(response)
				{
					show_error("Questions succesfuly removed.");
					//					if(question_id=='')
					//					{
					//						for(var i=0; i<elements.length; i++)
					//					   {
					//					   	if(elements[i].type == 'checkbox' && elements[i].name.indexOf('q_checkbox_')==0 && elements[i].checked==true)
					//					      {
					//								elements[i].checked=false;
					//					      }
					//					   }
					//					}
				}
			}
		}
	}

	xhr.send(params);
}


// Delete a question
function deleteQuestion(question_id)
{
	show_error('');
	var msg='';
	if(question_id=='')
	{
		msg="Are you sure you want to delete the selected questions from all quizzes?";
		var questions = new Array();
		var elements = document.getElementsByTagName('div');

		for(var i=0; i<elements.length; i++)
		{
			if(elements[i].getAttribute('name')!=null && elements[i].getAttribute('name').indexOf('q_checkbox_')==0 && elements[i].className=='checkboxChecked')
			{
				var value=new Array();
				value=elements[i].getAttribute('name').split('_');
				questions.push(value[2]);
			}
		}
		question_id=questions.join(';');
	}
	else
	{
		msg="Are you sure you want to delete this question from all quizzes?";
	}

	if(question_id=='')
	{
		show_error("Please select the questions you want to delete");
		return false;
	}

	if(!confirm(msg))
	{
		return false;
	}


	// AJAX START
	var params = "print=1&question_id="+escape(question_id);
	var src = normalUrl+"quiz/user/v2/index.php?pn=ajax_delete_question";
	var xhr;

	try
	{
		xhr = new XMLHttpRequest();
	}
	catch(e)
	{
		xhr = new ActiveXObject('Microsoft.XMLHTTP');
	}

	xhr.open('POST', src,  true);
	xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

	xhr.onreadystatechange  = function()
	{
		if(xhr.readyState  == 4)
		{
			if(xhr.status  == 200)
			{
				var response = xhr.responseText;
				if(response)
				{
					show_error('Question succesfuly deleted.');
					question_page--;
					changeQuestionPage('next');
				}
			}
		}
	}

	xhr.send(params);
}


// changes the question table depending on page number
function changeQuestionPage(page, last)
{
	show_error('');
	if(last+1>max_question_pages || last+1<1)
	{
		document.getElementById('curent_question_page').value=question_page;
		return false;
	}

	if(!isNaN(last))
	{
		question_page=last;
	}

	if(page=='prev')
	{
		if(question_page>1)
		{
			question_page--;
		}
		else
		{
			return true;
		}
	}
	else
	{
		if(page=='next')
		{
			if(question_page<max_question_pages)
			{
				question_page++;
			}
			else
			{
				return true;
			}
		}
	}
	//show_error('xx');

	// Filter SET
	var filter='';
	switch(questionFilterBy)
	{
		case 'q_number':
		case 'q_answer':
		case 'q_name':
		filter=document.getElementById('question_filter').value;
		break;
		case 'unit_filter':
		filter=document.getElementById('unit_filter').value;
		break;
		case 'category_filter':
		filter=document.getElementById('category_filter').value;
		break;
		default:

		break;
	}

	if(questionFilter==1)
	{
		if(filter==filterValue)
		{
			questionFilter=0;
			filter='';
		}
	}
	else
	{
		filter='';
	}

	document.getElementById('myquestionsBoxMiddle').style.minHeight='160px';
	document.getElementById('mainTable').innerHTML='<div style="text-align:center; margin-top:30px; padding-bottom:30px;"><img src="'+normalUrl+'quiz/user/v2/img/big-ajax-loader.gif" /></div>';
	var params="print=1&start="+question_page+"&filter="+filter+"&filter_by="+questionFilterBy+"&selected_quiz_id="+selected_quiz_id;
	var src = normalUrl+"quiz/user/v2/index.php?pn=question_page";
	var xhr;

	try
	{
		xhr = new XMLHttpRequest();
	}
	catch(e)
	{
		xhr = new ActiveXObject('Microsoft.XMLHTTP');
	}

	xhr.open('POST', src,  true);
	xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

	xhr.onreadystatechange  = function()
	{
		if(xhr.readyState  == 4)
		{
			if(xhr.status  == 200)
			{

				var response = xhr.responseText;
				var text= new Array();
				text= response.split('___');
				max_question_pages=document.getElementById('max_question_pages').value=text[0];
				questions_number=document.getElementById('questions_number').value=text[1];
				document.getElementById('mainTable').innerHTML=text[2];
				document.getElementById('curent_question_page').value=question_page;
				document.getElementById('number_of_question_pages').innerHTML=max_question_pages;
				rowsAdded=0;
				addQuestionForm=0;
				checkQuestionElem();
				questionPaginationButtons();
			}
		}
	}
	xhr.send(params);
}

function setValuesForPagination()
{
	max_question_pages=document.getElementById('max_question_pages').value;
	questions_number=document.getElementById('questions_number').value;
	client_rows_page=document.getElementById('client_rows_page').value;

	max_quiz_pages=document.getElementById('max_quiz_pages').value;
	quizzes_number=document.getElementById('quizzes_number').value;
}

function checkAllQuestions(elem)
{
	var value=elem.className;
	var elements = document.getElementsByTagName('div');

	for(var i=0; i<elements.length; i++)
	{
		if(elements[i].getAttribute('name')!=null && elements[i].getAttribute('name').indexOf('q_checkbox_')==0 && elements[i].getAttribute('name')!=elem.getAttribute('name'))
		{
			elements[i].className = value;
		}
	}
}


function checkQuestionElem(elem)
{
	show_error('');
	document.getElementById('select_all').className='checkboxUnchecked';

	if(typeof(elem)!="undefined")
	{
		var x= elem.getAttribute('name').split('_');
		var question_id=x[x.length-1];
		if(elem.className!='checkboxChecked')
		{
			addQuestionToQuiz(question_id);
		}
		else
		{
			removeQuestionFromQuiz(question_id);
		}
	}
}


//   ********************   Functions for QUIZZES   ********************

function showQuiz(rownr)
{
	show_error('');
	if(rownr=='add' && addQuizForm==1)
	{
		hideQuiz(quizAdded);
		return true;
	}


	if (quizAdded)
	{
		hideQuiz(quizAdded);
	}

	document.getElementById('editQuiz_'+rownr).style.display='';
	if(rownr!='add')
	{
		document.getElementById("editQuizLink_"+rownr).style.display = "none";
		document.getElementById("closeQuizLink_"+rownr).style.display = "";
	}
	else
	{
		addQuizForm=1;
	}
	quizAdded = rownr;
}

// Hide the edit/add form
function hideQuiz(rownr)
{
	show_error('');
	document.getElementById('editQuiz_'+rownr).style.display='none';
	if(rownr!='add')
	{
		document.getElementById('share_'+rownr).style.display='none';
		document.getElementById('edit_'+rownr).style.display='none';
		document.getElementById("editQuizLink_"+rownr).style.display = "";
		document.getElementById("closeQuizLink_"+rownr).style.display = "none";
	}
	addQuizForm = 0;
	quizAdded = 0;
}

function sharePopupQuiz(rownr)
{
	show_error('');
	var message=document.getElementById('comments_'+rownr).value;
	var friends=document.getElementById('friends_'+rownr).value;
	var src = "mailto:"+friends+"?subject=Test Your Knowledge&body="+escape(message);
	newwindow=window.open(src,'ShareIt','height=200,width=200');
	if (window.focus)
	{
		newwindow.blur();
		newwindow.close();
	}
	return true;
}
function executeQuizFunction(rownr, fn)
{
	show_error('');
	switch(fn)
	{
		case 'add':
		case 'update':
		default:
		var name=document.getElementById('quiz_name_'+rownr).value;
		var descr=document.getElementById('quiz_description_'+rownr).value;
		//var category=document.getElementById('quiz_category_'+rownr).value;

		var params="print=1&name="+escape(name)+"&descr="+escape(descr)+"&quiz_id="+rownr+"&function="+fn;
		break;

		case 'share':
		var message=document.getElementById('comments_'+rownr).value;
		var friends=document.getElementById('friends_'+rownr).value;
		var params="print=1&message="+escape(message)+"&friends="+escape(friends)+"&quiz_id="+rownr+"&function="+fn;
		break;

		case 'delete':
		if(!confirm('Are you sure you want to delete this quiz?'))
		{
			return false;
		}
		var params="print=1&quiz_id="+rownr+"&function="+fn;
		break;
	}

	var src = normalUrl+"quiz/user/v2/index.php?pn=ajax_save_quiz";
	var xhr;

	try
	{
		xhr = new XMLHttpRequest();
	}
	catch(e)
	{
		xhr = new ActiveXObject('Microsoft.XMLHTTP');
	}

	document.getElementById('quiz_ajax_image_'+rownr).style.visibility='visible';
	xhr.open('POST', src,  true);
	xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

	xhr.onreadystatechange  = function()
	{
		if(xhr.readyState  == 4)
		{
			if(xhr.status  == 200)
			{
				var response = xhr.responseText;
				if(response==true)
				{
					switch(fn)
					{
						case 'add':
						quizzes_number++;
						if(Math.ceil(quizzes_number/client_rows_page)>max_quiz_pages)
						{
							max_quiz_pages=Math.ceil(quizzes_number/client_rows_page);
							document.getElementById('number_of_quiz_pages').innerHTML=max_quiz_pages;
						}
						addQuestionForm=0;
						changeQuizPage(quiz_page);
						//document.getElementById('quiz_ajax_image_add').style.visibility='hidden';
						show_error("Quiz Succesfuly Added.");
						updateQuizList();
						break;

						case 'update':
						  	var quiz_text = name;
						  	var ftext='';
							if(quiz_text.length > 20)
							{
								var x= new Array();
								x=quiz_text.split(' ');
								for(var i=0;i<x.length; i++)
								{
									var word= x[i];
									if(word.length > 20)
									{
										while(word.length > 20)
										{
											ftext += word.substr(0, 20)+' ';
											word = word.substr(20);
										}
										if(word!='')
										{
											ftext += word;
										}
									}
									else
									{
										ftext += word+' ';
									}
								}
							}
							else 
							{
								ftext=quiz_text;
							}
							
							name= ftext;

							document.getElementById('quiztext_'+rownr).innerHTML=name;
							show_error("Quiz Succesfuly Renamed.");
							updateQuizList()
						break;

						case 'share':
						show_error('Email sent.');
						break;

						case 'delete':
						addQuestionForm=0;
						changeQuizPage(quiz_page);
						updateQuizList();
						break;

						default:
						break;
					}
					
					if(fn!='add')
					{
						//document.getElementById('quiz_ajax_image_'+rownr).style.visibility='hidden';
					}
				}
				else
				{
					switch(fn)
					{
						case 'share':
							show_error('Invalid email address.');
						break;

						default:
						break;
					}
					//document.getElementById('quiz_ajax_image_'+rownr).style.visibility='hidden';
				}
			}
		}
	}

	xhr.send(params);

}


// changes the question table depending on page number
function changeQuizPage(page, last)
{
	show_error('');
	if(last+1>max_quiz_pages || last+1<1)
	{
		document.getElementById('curent_quiz_page').value=quiz_page;
		return false;
	}
	if(!isNaN(last))
	{
		quiz_page=last;
	}

	if(page=='prev')
	{
		if(quiz_page>1)
		{
			quiz_page--;
		}
		else
		{
			return true;
		}
	}
	else
	{
		if(page=='next')
		{
			if(quiz_page<max_quiz_pages)
			{
				quiz_page++;
			}
			else
			{
				return true;
			}
		}
	}

	var filter=document.getElementById('quiz_filter').value;

	if(quizFilter==1)
	{
		if(filter=="Enter any part of a quiz")
		{
			quizFilter=0;
			filter='';
		}
	}
	else
	{
		filter='';
	}
	
	document.getElementById('myquizzesBoxMiddle').style.minHeight='160px';
	var image='<div style="text-align:center; margin-top:30px; margin-bottom:30px;"><img src="'+normalUrl+'quiz/user/v2/img/big-ajax-loader.gif" /></div>';
	document.getElementById('quizTable').innerHTML=image;
	
	var params="print=1&start="+quiz_page+"&filter="+filter
	var src = normalUrl+"quiz/user/v2/index.php?pn=quiz_page";
	var xhr;
	
	try
	{
		xhr = new XMLHttpRequest();
	}
	catch(e)
	{
		xhr = new ActiveXObject('Microsoft.XMLHTTP');
	}

	xhr.open('POST', src,  true);
	xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	//alert(params);
	xhr.onreadystatechange  = function()
	{
		if(xhr.readyState  == 4)
		{
			if(xhr.status  == 200)
			{
				var response = xhr.responseText;
				var text= new Array();
				text= response.split('___');
				max_quiz_pages=document.getElementById('max_quiz_pages').value=text[0];
				quizzes_number=document.getElementById('quizzes_number').value=text[1];
				document.getElementById('rightTable').innerHTML=text[2];
				document.getElementById('curent_quiz_page').value=quiz_page;
				document.getElementById('number_of_quiz_pages').innerHTML=max_quiz_pages;
				quizAdded=0;
				addQuizForm=0;
				quizPaginationButtons();
			}
		}
	}
	xhr.send(params);
}

function editQuizForm(rownr)
{
	show_error('');
	document.getElementById('edit_'+rownr).style.display='';
	document.getElementById('share_'+rownr).style.display='none';
	document.getElementById('editBttn_'+rownr).className='quizzButtonOvr';
	document.getElementById('editBttn_'+rownr).onmouseout=function(){};

	document.getElementById('takeBttn_'+rownr).className='quizzButton';
	document.getElementById('takeBttn_'+rownr).onmouseout=function(){chClass(this, 'quizzButton');};

	document.getElementById('shareBttn_'+rownr).className='quizzButton';
	document.getElementById('shareBttn_'+rownr).onmouseout=function(){chClass(this, 'quizzButton');};

}

function shareQuizForm(rownr)
{
	show_error('');
	document.getElementById('edit_'+rownr).style.display='none';
	document.getElementById('share_'+rownr).style.display='';
	document.getElementById('shareBttn_'+rownr).className='quizzButtonOvr';
	document.getElementById('shareBttn_'+rownr).onmouseout=function(){};

	document.getElementById('takeBttn_'+rownr).className='quizzButton';
	document.getElementById('takeBttn_'+rownr).onmouseout=function(){chClass(this, 'quizzButton');};

	document.getElementById('editBttn_'+rownr).className='quizzButton';
	document.getElementById('editBttn_'+rownr).onmouseout=function(){chClass(this, 'quizzButton');};
}

// change the question page on enter pressed in the page input
function question_enter_pressed(event, element)
{
	show_error('');
	if(event && event.keyCode == 13)
	{
		if(!isNaN(element.value))
		{
			changeQuestionPage('next', Math.floor(element.value)-1);
		}
	}
	else
	{
		return true;
	}
}

// change the quiz page on enter pressed in the page input
function quiz_enter_pressed(event, element)
{
	show_error('');
	if(event && event.keyCode == 13)
	{
		if(!isNaN(element.value))
		{
			changeQuizPage('next', Math.floor(element.value)-1);
		}
	}
	else
	{
		return true;
	}
}
function browse_quiz_enter_pressed(event, element)
{
	show_error('');
	if(event && event.keyCode == 13)
	{
		if(!isNaN(element.value))
		{
			changeBrowseQuizPage('next', Math.floor(element.value)-1);
		}
	}
	else
	{
		return true;
	}
}
function scores_quiz_enter_pressed(event, element)
{
	show_error('Loading Page');
	if(event && event.keyCode == 13)
	{
		if(!isNaN(element.value))
		{
		
			changeBrowseScorePage('next', Math.floor(element.value)-1);
				show_error('');
			return false;
		}
	}
	else
	{
		return true;
	}
}
// show the error
function show_error(error)
{
	document.getElementById('error').innerHTML=error;
}

// Append the Quizes dropdown and adds the new added quiz
function updateQuizList()
{
	show_error('');
	var params='';
	var src = normalUrl+"quiz/user/v2/index.php?pn=update_quiz_list&print=1";
	var xhr;

	try
	{
		xhr = new XMLHttpRequest();
	}
	catch(e)
	{
		xhr = new ActiveXObject('Microsoft.XMLHTTP');
	}

	xhr.open('POST', src,  true);
	xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

	xhr.onreadystatechange  = function()
	{
		if(xhr.readyState  == 4)
		{
			if(xhr.status  == 200)
			{
				var response = xhr.responseText;
				if(response)
				{
					document.getElementById('quiz_id_td').innerHTML=response;
				}
			}
		}
	}

	xhr.send(params);
}

function filter_by_changed(filter)
{
	document.getElementById('filter_by_div').style.visibility='hidden';
	questionFilterBy = filter;
	reload_filter();
}

function reload_filter()
{
	switch(questionFilterBy)
	{
		case 'q_number':
		document.getElementById('question_filter').style.display='';
		document.getElementById('unit_filter').style.display='none';
		document.getElementById('category_filter').style.display='none';
		filterValue='Enter any question number';
		break;
		case 'q_answer':
		document.getElementById('question_filter').style.display='';
		document.getElementById('unit_filter').style.display='none';
		document.getElementById('category_filter').style.display='none';
		filterValue='Enter any part of a question answer';
		break;
		case 'q_name':
		document.getElementById('question_filter').style.display='';
		document.getElementById('unit_filter').style.display='none';
		document.getElementById('category_filter').style.display='none';
		filterValue='Enter any part of a question';
		break;
		case 'unit_filter':
		document.getElementById('question_filter').style.display='none';
		document.getElementById('unit_filter').style.display='';
		document.getElementById('category_filter').style.display='none';
		filterValue='Enter any unit of measurement';
		break;
		case 'category_filter':
		document.getElementById('question_filter').style.display='none';
		document.getElementById('unit_filter').style.display='none';
		document.getElementById('category_filter').style.display='';
		filterValue='Enter a category';
		break;
		default:

		break;
	}
	document.getElementById('question_filter_label').innerHTML=filterValue;
	questionFilter=1; question_page=0; changeQuestionPage('next')
}

function question_filter_enter_pressed(event, element)
{
	show_error('');
	if(event && event.keyCode == 13)
	{
		questionFilter=1;
		question_page=0;
		changeQuestionPage('next');
	}
	else
	{
		return true;
	}
}

function quiz_filter_enter_pressed(event, element)
{
	show_error('');
	if(event && event.keyCode == 13)
	{
		quizFilter=1;
		quiz_page=0;
		changeQuizPage('next');
	}
	else
	{
		return true;
	}
}

function actionChanged(element)
{
	switch(element.value)
	{
		case '-2':
		// delete
		deleteQuestion('');
		element.options[0].selected=true;
		break;
		case '0':
		case	'-1':
		break;

		default:
		addQuestionToQuiz('');
		element.options[0].selected=true;
		break;
	}
}

function chClass(elem, clsname)
{
	elem.className=clsname;
}

function questionPaginationButtons()
{
	if(question_page>1)
	{
		document.getElementById('prevQuestionButton').className='prevPageButtonEnabled';
	}
	else
	{
		document.getElementById('prevQuestionButton').className='prevPageButtonDisabled';
	}

	if(question_page<max_question_pages)
	{
		document.getElementById('nextQuestionButton').className='nextPageButtonEnabled';
	}
	else
	{
		document.getElementById('nextQuestionButton').className='nextPageButtonDisabled';
	}
}

function quizPaginationButtons()
{
	if(quiz_page>1)
	{
		document.getElementById('prevQuizButton').className='prevPageButtonEnabled';
	}
	else
	{
		document.getElementById('prevQuizButton').className='prevPageButtonDisabled';
	}

	if(quiz_page<max_quiz_pages)
	{
		document.getElementById('nextQuizButton').className='nextPageButtonEnabled';
	}
	else
	{
		document.getElementById('nextQuizButton').className='nextPageButtonDisabled';
	}
}
function getTop(elem)
{
	if (elem.offsetParent)
	{
		return elem.offsetTop + getTop(elem.offsetParent);
	}
	else
	{
		return elem.offsetTop;
	}
}

function getLeft(elem)
{
	if (elem.offsetParent)
	{
		return elem.offsetLeft + getLeft(elem.offsetParent);
	}
	else
	{
		return elem.offsetLeft;
	}
}

function displayBubble(obj, bbl)
{
	bbl.style.display="block";
	bbl.style.left=getLeft(obj)-bbl.offsetWidth+"px";
	bbl.style.top=getTop(obj)-parseInt(bbl.offsetHeight/2)+parseInt(obj.offsetHeight/2)+"px";
}

function hideBubble(bbl)
{
	bbl.style.display="none";
}
/* Added by victor*/
function runBrowseForm(elem)
{
	/*resetam toate in functie de ce avem in variabilele de sort si order.
	si daca-i aceasi... schimbam numa orderu.
	test:*/
	quizSortBy   = document.getElementById("quizSortBy").value;
	quizSortType = document.getElementById("quizSortType").value;
	if (elem==quizSortBy)
	{
		var up=document.getElementById("sort_"+elem+"_up");
		var down=document.getElementById("sort_"+elem+"_down");
		if (quizSortType=="ASC")
		{

			document.getElementById("quizSortType").value="DESC";
			/*schimbam sagetica*/

			down.style.visibility="hidden";
			down.style.display="none";
			up.style.visibility="visible";
			up.style.display="inline";
		}
		else
		{
			document.getElementById("quizSortType").value="ASC";
			/*schimbam sagetica*/
			up.style.visibility="hidden";
			up.style.display="none";
			down.style.visibility="visible";
			down.style.display="inline";
		}
	}
	else
	{
		document.getElementById("quizSortType").value="ASC";
		document.getElementById("quizSortBy").value=elem;
	}
	quiz_page=0;
	changeBrowseQuizPage('next');
	return true;

}
function shareBrowseQuizForm(quiz_id)
{
	var z=document.getElementById("share_"+quiz_id);
	z.style.display="block";
	z.style.visibility="visible";
}
function playQuizForm(quiz_id)
{
	src=normalUrl+"quiz/play/takeQuiz.php?quizId="+quiz_id;
	window.location=src;
}
function browseSearch()
{
	quizFilter=1;
	quiz_page=0;
	changeBrowseQuizPage('next');
	return true;
}
// changes the question table depending on page number
function browse_quizz_filter_enter_pressed(event, element)
{
	show_error('');
	if(event && event.keyCode == 13)
	{
		quizFilter=1;
		quiz_page=0;
		changeBrowseQuizPage('next');
	}
	else
	{
		return true;
	}
}
function changeBrowseQuizPage(page, last)
{
	show_error('');
	if(max_quiz_pages=='')
	{
		max_quiz_pages=1;
	}
	if(last+1>max_quiz_pages || last+1<1)
	{
		document.getElementById('curent_quiz_page').value=quiz_page;
		return false;
	}
	
	if(!isNaN(last))
	{
		quiz_page=last;
	}

	if(page=='prev')
	{
		if(quiz_page>1)
		{
			quiz_page--;
		}
		else
		{
			return true;
		}
	}
	else
	{
		if(page=='next')
		{
			if(quiz_page<max_quiz_pages)
			{
				quiz_page++;
			}
			else
			{
				return true;
			}
		}
	}


	var filter=document.getElementById('quiz_filter').value;

	if(quizFilter==1)
	{
		if(filter=="Enter any part of a quiz")
		{
			quizFilter=0;
			filter='';
		}
	}
	else
	{
		filter='';
	}
	
	document.getElementById('mainTable').innerHTML='<div style="text-align:center; margin-top:30px; margin-bottom:30px;"><img src="'+normalUrl+'quiz/user/v2/img/big-ajax-loader.gif" /></div>';
	quizSortBy   = document.getElementById("quizSortBy").value;
	quizSortType = document.getElementById("quizSortType").value;
	var params="print=1&start="+quiz_page+"&filter="+filter+"&sort="+quizSortBy+"&sort_type="+quizSortType;
	var src = normalUrl+"quiz/user/v2/index.php?pn=browse_quizzes_content";
	var xhr;

	try
	{
		xhr = new XMLHttpRequest();
	}
	catch(e)
	{
		xhr = new ActiveXObject('Microsoft.XMLHTTP');
	}

	xhr.open('POST', src,  true);
	xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	//alert(params);
	xhr.onreadystatechange  = function()
	{
		if(xhr.readyState  == 4)
		{
			if(xhr.status  == 200)
			{
				var response = xhr.responseText;
				var text= new Array();

				text= response.split('___');
				max_quiz_pages=document.getElementById('max_quiz_pages').value=text[0];
				quizzes_number=document.getElementById('quizzes_number').value=text[1];
				document.getElementById('mainTable').innerHTML=text[2];
				document.getElementById('curent_quiz_page').value=quiz_page;
				document.getElementById('number_of_quiz_pages').innerHTML=max_quiz_pages;
				quizAdded=0;
				addQuizForm=0;
				quizPaginationButtons();
			}
		}
	}
	xhr.send(params);
}

function changeBrowseScorePage(page, last)
{
	show_error('');
	if(max_quiz_pages=='')
	{
		max_quiz_pages=1;
	}
	if(last+1>max_quiz_pages || last+1<1)
	{
		document.getElementById('curent_quiz_page').value=quiz_page;
		return false;
	}
	
	if(!isNaN(last))
	{
		quiz_page=last;
	}

	if(page=='prev')
	{
		if(quiz_page>1)
		{
			quiz_page--;
		}
		else
		{
			return true;
		}
	}
	else
	{
		if(page=='next')
		{
			if(quiz_page<max_quiz_pages)
			{
				quiz_page++;
			}
			else
			{
				return true;
			}
		}
	}

	var filter=document.getElementById('quiz_filter').value;

	if(quizFilter==1)
	{
		if(filter=="Enter any part of a quiz")
		{
			quizFilter=0;
			filter='';
		}
	}
	else
	{
		filter='';
	}
	
	document.getElementById('mainTable').innerHTML='<div style="text-align:center; margin-top:30px; margin-bottom:30px;"><img src="'+normalUrl+'quiz/user/v2/img/big-ajax-loader.gif" /></div>';
	quizSortBy   = document.getElementById("quizSortBy").value;
	quizSortType = document.getElementById("quizSortType").value;
	var params="print=1&start="+quiz_page+"&filter="+filter+"&sort="+quizSortBy+"&sort_type="+quizSortType;
	var src = normalUrl+"quiz/user/v2/index.php?pn=scores_content";
	
	var xhr;

	try
	{
		xhr = new XMLHttpRequest();
	}
	catch(e)
	{
		xhr = new ActiveXObject('Microsoft.XMLHTTP');
	}

	xhr.open('POST', src,  true);
	xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	//alert(params);
	xhr.onreadystatechange  = function()
	{
		if(xhr.readyState  == 4)
		{
			if(xhr.status  == 200)
			{
				var response = xhr.responseText;
				var text= new Array();

				text= response.split('___');
				max_quiz_pages=document.getElementById('max_quiz_pages').value=text[0];
				quizzes_number=document.getElementById('quizzes_number').value=text[1];
				document.getElementById('mainTable').innerHTML=text[2];
				document.getElementById('curent_quiz_page').value=quiz_page;
				document.getElementById('number_of_quiz_pages').innerHTML=max_quiz_pages;
				quizAdded=0;
				addQuizForm=0;
				quizPaginationButtons();
			}
		}
	}
	xhr.send(params);
}

function showHideEdQ(editId)
{
	if(document.getElementById(editId).style.display=='none')
	{
		document.getElementById(editId).style.display=(navigator.userAgent.indexOf('MSIE')!=-1 && navigator.userAgent.indexOf('Opera')==-1)?'block':'table-row'
	}
	else
	{
		document.getElementById(editId).style.display='none';
	}
}

function displayBubble(obj, bbl)
{
	bbl.style.display="block";
	bbl.style.left=getLeft(obj)-bbl.offsetWidth+"px";
	bbl.style.top=getTop(obj)-parseInt(bbl.offsetHeight/2)+parseInt(obj.offsetHeight/2)+"px";
}

function displayBubbleRight(obj, bbl)
{
	document.getElementById(bbl).style.display="block";
	document.getElementById(bbl).style.left=(getLeft(obj)+obj.offsetWidth-168)+"px";
	document.getElementById(bbl).style.top=(getTop(obj)-parseInt(document.getElementById(bbl).offsetHeight/2)+parseInt(obj.offsetHeight/2))-192+"px";
}

function hideBubble(bbl)
{
	document.getElementById(bbl).style.display="none";
}
function copy(text)
{
	if (window.clipboardData)
	{
		window.clipboardData.setData("Text",text);
	}
}
function copyToClipboard(inElement)
{
	if (window.clipboardData)
	{
		window.clipboardData.setData("Text",inElement.value);
		return true;
	}
	
	inElement.focus();
	inElement.select();
	
	if (inElement.createTextRange)
	{
		var range = inElement.createTextRange();
		if (range && BodyLoaded==1)
		range.execCommand('Copy');
	}
	else
	{
		var flashcopier = 'flashcopier';
		if(!document.getElementById(flashcopier))
		{
			var divholder = document.createElement('div');
			divholder.id = flashcopier;
			document.body.appendChild(divholder);
			
		}
		document.getElementById(flashcopier).innerHTML = '';
		
		
		var divinfo = '<embed src="_clipboard.swf" FlashVars="clipboard='+encodeURIComponent(inElement.value)+'" width="0" height="0" type="application/x-shockwave-flash"></embed>';
		document.getElementById(flashcopier).innerHTML = divinfo;
	}
}
