var timeLoop = true;
var started = 0;
var miliseconds = 0;
var seconds = 0;
var stop = 0;
var question = 0;
var result = 0;

var userLogin = '';
var userPassword = '';
var userId = 0;
var canPlay = false;

var loading = '<p id="loading"><img src="./quiz/img/loading.gif" width="16" height="16" border="0" alt="Loading" /><br /><br />Trwa wczytywanie pytania...</p>';
var logOut = '<a href="./quiz.php"><font color="red">Wyloguj &raquo;</font></a>';

function getCurrentTime() {
	var currentTime = new Date();
	return currentTime.getTime();
}

function logIn() {
	var wasError = false;

	if (document.getElementById('login').value.length == 0) {
		alert('Podaj login.');
		document.getElementById('login').focus();
		wasError = true;
	}
	else if (document.getElementById('password').value.length == 0) {
		alert('Podaj hasło.');
		document.getElementById('password').focus();
		wasError = true;
	}
	else if (!document.getElementById('agree').checked) {
		alert('Musisz zaakceptować regulamin.');
		document.getElementById('agree').focus();
		wasError = true;
	}
	
	if (wasError == false) {
		advAJAX.post({
			url: 'quizEngine.php',
			parameters : {
			'user' : document.getElementById('login').value,
			'pass' : document.getElementById('password').value,
			'quizId' : quizId
			},
			
			onSuccess : function(obj)
			{
				if (obj.responseText == '0') {
					alert('Podane dane są nieprawidłowe.');
					document.getElementById('login').focus();
				}
				else {
					userLogin = document.getElementById('login').value;
					userPassword = document.getElementById('password').value;
					userId = obj.responseText;
					
					document.getElementById('logout').innerHTML = logOut;
					
					canPlayQuiz();
					loadFirstContent();
				}
			},
			
			onError : function(obj) { alert('Error: ' + obj.status); }
		});
	}
}

function editUserData() {
	advAJAX.post({
		url: 'quizEngine.php',
		parameters : {
		'editUserData' : userId,
		'quizId' : quizId
		},
		
		onSuccess : function(obj)
		{
			document.getElementById('content').style.height = '100%';
			document.getElementById('content').innerHTML = obj.responseText;
		},
		
		onError : function(obj) { alert('Error: ' + obj.status); }
	});
}

function canPlayQuiz() {
	advAJAX.post({
		url: 'quizEngine.php',
		parameters : {
		'canPlayQuiz' : userId,
		'quizId' : quizId
		},
		
		onSuccess : function(obj)
		{
			if (obj.responseText == '1')
				canPlay = true;
		},
		
		onError : function(obj) { alert('Error: ' + obj.status); }
	});
}

function loadFirstContent() {
	advAJAX.post({
		url: 'quizEngine.php',
		parameters : {
		'firstContent' : userId,
		'userLogin' : userLogin,
		'quizId' : quizId
		},
		
		onSuccess : function(obj)
		{
			document.getElementById('content').innerHTML = obj.responseText;
		},
		
		onError : function(obj) { alert('Error: ' + obj.status); }
	});
}

function getChecked() {
	var output = '';
	var i = 0;
	
	while (document.getElementById('jestem_zainteresowany['+i+']')) {
		if (document.getElementById('jestem_zainteresowany['+i+']').checked == true) {
			output += document.getElementById('jestem_zainteresowany['+i+']').value + ', ';
		}
		
		i++;
	}
	
	return output;
}

function getAdresWysylkowy() {
	if (document.getElementById('adres_wysylkowy1').checked)
		return 1;
	else
		return 2;
}

function getKontaktZPrzedstawicielem() {
	if (document.getElementById('kontakt_z_przedstawicielem').checked)
		return 1;
	else
		return 0;
}

function saveChanges() {
	var error = false;
	
	if (document.getElementById('haslo').length < 3 || document.getElementById('haslo').length > 10) {
		alert('Hasło powinno być dłuższe niż 2 i krótsze od 10 znaków i powinno składać się tylko z liter oraz cyfr.');
		error = true;
	}

	if (document.getElementById('haslo').value != document.getElementById('haslo2').value) {
		alert('Podane hasła różnią się od siebie.');
		error = true;
	}
	
	if (document.getElementById('imie').length == 0) {
		alert('Podaj swoje imię.');
		error = true;
	}

	if (document.getElementById('nazwisko').length == 0) {
		alert('Podaj swoje nazwisko.');
		error = true;
	}
	
	if (!error) {
		userPassword = document.getElementById('haslo').value;
	
		advAJAX.post({
			url: 'quizEngine.php',
			parameters : {
			'quizId' : quizId,
			'userId' : userId,
			'update' : 'update',
			'haslo' : document.getElementById('haslo').value,
			'zwrot' : document.getElementById('zwrot').value,
			'imie' : document.getElementById('imie').value,
			'nazwisko' : document.getElementById('nazwisko').value,
			'tytul_naukowy' : document.getElementById('tytul_naukowy').value,
			'specjalnosc_1' : document.getElementById('specjalnosc_1').value,
			'specjalnosc_2' : document.getElementById('specjalnosc_2').value,
			'miejsce_pracy_nazwa' : document.getElementById('miejsce_pracy_nazwa').value,
			'miejsce_pracy_ulica' : document.getElementById('miejsce_pracy_ulica').value,
			'miejsce_pracy_kod' : document.getElementById('miejsce_pracy_kod').value,
			'miejsce_pracy_miasto' : document.getElementById('miejsce_pracy_miasto').value,
			'miejsce_pracy_wojewodztwo' : document.getElementById('miejsce_pracy_wojewodztwo').value,
			'miejsce_pracy_telefon' : document.getElementById('miejsce_pracy_telefon').value,
			'miejsce_zamieszkania_ulica' : document.getElementById('miejsce_zamieszkania_ulica').value,
			'miejsce_zamieszkania_kod' : document.getElementById('miejsce_zamieszkania_kod').value,
			'miejsce_zamieszkania_miasto' : document.getElementById('miejsce_zamieszkania_miasto').value,
			'miejsce_zamieszkania_wojewodztwo' : document.getElementById('miejsce_zamieszkania_wojewodztwo').value,
			'miejsce_zamieszkania_telefon' : document.getElementById('miejsce_zamieszkania_telefon').value,
			'adres_wysylkowy' : getAdresWysylkowy(),
			'jestem_zainteresowany' : getChecked(),
			'kontakt_z_przedstawicielem' : getKontaktZPrzedstawicielem(),
			'uwagi' : document.getElementById('uwagi').value
			},
			
			onLoading : function(obj)
			{
				document.getElementById('zapiszZmiany').disabled = true;
			},
			
			onSuccess : function(obj)
			{
				alert('Zmiany zapisane!');
				document.getElementById('zapiszZmiany').disabled = false;
			},
			
			onError : function(obj) { alert('Error: ' + obj.status); }
		});
	}
}

function timeFormat()
{
	array = new Array(60, 1);
	
	temp = seconds;
	output = '';
	
	for (i=0; i<array.length; i++)
	{
		ile = parseInt(temp/array[i]);
		
		if (ile < 10)
			output += '0' + ile;
		else
			output += ile;
		
			output += ':';
		
		temp -= ile*array[i];
	}
	
	if (miliseconds < 10)
		output += '0' + miliseconds;
	else
		output += miliseconds;
	
	return output;
}

function showTime() {
	if (timeLoop == true) {
		document.getElementById('time').innerHTML = timeFormat();
	}
}

function incrementMiliseconds() {
	if (timeLoop == true) {
		miliseconds++;
		
		if (miliseconds == 100) {
			miliseconds = 0;
			seconds++;
		}
		
		showTime();
		setTimeout('incrementMiliseconds()', 10);
	}
}

function getQuestion() {
	if(question > 0) {
		answers = getAnswers();
	}
	else
		answers = 'null';

	advAJAX.post({
		url: 'quizEngine.php',
		parameters : {
		'id' : question,
		'answers' : answers,
		'quizId' : quizId,
		'userId' : userId
		},
		
		onLoading : function(obj)
		{
			document.getElementById('content').innerHTML = loading;
		},
		
		onSuccess : function(obj)
		{
			if (obj.responseText.length > 3)
				document.getElementById('content').innerHTML = obj.responseText;
			else {
				result = parseInt(obj.responseText);
				endQuiz();
			}
		},
		
		onError : function(obj) { alert('Error: ' + obj.status); }
	});
	
	question++;
}

function getAnswers() {
	var i = 0;
	var checkboxField;
	var output = '';
	
	while (checkboxField = document.getElementById('answer' + i)) {
		if (checkboxField.checked) {
			output += i + ',';
		}
		
		i++;
	}
	
	return output;
}

function startQuiz() {
	if (canPlay) {
		started = getCurrentTime();
		incrementMiliseconds()
				
		getQuestion();
	}
	else {
		alert('Brałeś już udział w tym konkursie.');
	}
}

function saveResult(v1, v2, v3, v4, v5) {
	advAJAX.post({
		url: 'quizEngine.php',
		parameters : {
		'userLogin' : v1,
		'userPassword' : v2,
		'quizId' : v3,
		'seconds' : v4,
		'miliseconds' : v5
		},
		
		onError : function(obj) { alert('Error: ' + obj.status); }
	});
}

function endQuiz() {
	timeLoop = false;
	saveResult(userLogin, userPassword, quizId, seconds, miliseconds);
	document.getElementById('content').innerHTML = '<h3>Quiz zakończony!</h3><p>Serdecznie gratulujemy rozwiązania naszego quizu. Ukończyłeś go zdobywając <b>' + result + '</b> pkt w czasie ' + timeFormat() + '!</p><br><br><div align="center"><a href="http://woerwagpharma.pl">Powrót na stronę główną</a></div>';
}
