function elem_show(id) {
	elem = document.getElementById('ocena_' + id);
		elem.style.display = 'block';
}

function elem_hide(id) {
	elem = document.getElementById('ocena_' + id);
		elem.style.display = 'none';
}

function nast_elem_show(id) {
	elem = document.getElementById('blok-nastroj' + id);
		elem.style.display = 'block';
}

function nast_elem_hide(id) {
	elem = document.getElementById('blok-nastroj' + id);
		elem.style.display = 'none';
}

function nastroj_change(id) {

	if(id==1) { 
		nast_elem_hide(2);
		nast_elem_hide(3);
		nast_elem_hide(4);
		nast_elem_show(1);
	}
	else if(id==2) { 
		nast_elem_hide(1);
		nast_elem_hide(3);
		nast_elem_hide(4);
		nast_elem_show(2);
	}
	else if(id==3) { 
		nast_elem_hide(1);
		nast_elem_hide(2);
		nast_elem_hide(4);
		nast_elem_show(3);
	}
	else if(id==4) { 
		nast_elem_hide(1);
		nast_elem_hide(2);
		nast_elem_hide(3);
		nast_elem_show(4);
	}
}


function ocena_change(id) {

	if(id==1) { 
		elem_hide(2);
		elem_hide(3);
		elem_show(1);
	}
	else if(id==2) { 
		elem_hide(1);
		elem_hide(3);
		elem_show(2);
	}
	else if(id==3) { 
		elem_hide(1);
		elem_hide(2);
		elem_show(3);
	}
}



function makePOSTRequest(url, parameters) {
		http_request = false;
		
		if (window.XMLHttpRequest) { // Mozilla
			 http_request = new XMLHttpRequest();
			 if (http_request.overrideMimeType) {
					http_request.overrideMimeType('text/xml');
			 }
		} 
		else if (window.ActiveXObject) { // IE
			try {
				http_request = new ActiveXObject("Msxml2.XMLHTTP");
			} 
			catch (e) {
				try {
					http_request = new ActiveXObject("Microsoft.XMLHTTP");
				} 
				catch (e) {}
			}
		}
		if (!http_request) {
			 alert('Cannot create XMLHTTP instance');
			 return false;
		}
		
		http_request.open('POST', url, true);
		http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=utf-8");
		http_request.setRequestHeader("Content-length", parameters.length);
		http_request.setRequestHeader("Connection", "close");
		http_request.send(parameters);
}


function makePOSTRequestResult(url, parameters) {
		http_request = false;
		
		if (window.XMLHttpRequest) { // Mozilla
			 http_request = new XMLHttpRequest();
			 if (http_request.overrideMimeType) {
					http_request.overrideMimeType('text/xml');
			 }
		} 
		else if (window.ActiveXObject) { // IE
			try {
				http_request = new ActiveXObject("Msxml2.XMLHTTP");
			} 
			catch (e) {
				try {
					http_request = new ActiveXObject("Microsoft.XMLHTTP");
				} 
				catch (e) {}
			}
		}
		if (!http_request) {
			 alert('Cannot create XMLHTTP instance');
			 return false;
		}
		
		http_request.onreadystatechange = alertContents_main;
		http_request.open('POST', url, true);
		http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=utf-8");
		http_request.setRequestHeader("Content-length", parameters.length);
		http_request.setRequestHeader("Connection", "close");
		http_request.send(parameters);
}

function makePOSTRequestResultTags(url, parameters) {
		http_request = false;
		
		if (window.XMLHttpRequest) { // Mozilla
			 http_request = new XMLHttpRequest();
			 if (http_request.overrideMimeType) {
					http_request.overrideMimeType('text/xml');
			 }
		} 
		else if (window.ActiveXObject) { // IE
			try {
				http_request = new ActiveXObject("Msxml2.XMLHTTP");
			} 
			catch (e) {
				try {
					http_request = new ActiveXObject("Microsoft.XMLHTTP");
				} 
				catch (e) {}
			}
		}
		if (!http_request) {
			 alert('Cannot create XMLHTTP instance');
			 return false;
		}
		
		http_request.onreadystatechange = alertContents_tags;
		http_request.open('POST', url, true);
		http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=utf-8");
		http_request.setRequestHeader("Content-length", parameters.length);
		http_request.setRequestHeader("Connection", "close");
		http_request.send(parameters);
}

function makePOSTRequestResultMood(url, parameters) {
		http_request = false;
		
		if (window.XMLHttpRequest) { // Mozilla
			 http_request = new XMLHttpRequest();
			 if (http_request.overrideMimeType) {
					http_request.overrideMimeType('text/xml');
			 }
		} 
		else if (window.ActiveXObject) { // IE
			try {
				http_request = new ActiveXObject("Msxml2.XMLHTTP");
			} 
			catch (e) {
				try {
					http_request = new ActiveXObject("Microsoft.XMLHTTP");
				} 
				catch (e) {}
			}
		}
		if (!http_request) {
			 alert('Cannot create XMLHTTP instance');
			 return false;
		}
		
		http_request.onreadystatechange = alertContents_mood;
		http_request.open('POST', url, true);
		http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=utf-8");
		http_request.setRequestHeader("Content-length", parameters.length);
		http_request.setRequestHeader("Connection", "close");
		http_request.send(parameters);
}

function makePOSTRequestResultAktowka(url, parameters) {
		http_request = false;
		
		if (window.XMLHttpRequest) { // Mozilla
			 http_request = new XMLHttpRequest();
			 if (http_request.overrideMimeType) {
					http_request.overrideMimeType('text/xml');
			 }
		} 
		else if (window.ActiveXObject) { // IE
			try {
				http_request = new ActiveXObject("Msxml2.XMLHTTP");
			} 
			catch (e) {
				try {
					http_request = new ActiveXObject("Microsoft.XMLHTTP");
				} 
				catch (e) {}
			}
		}
		if (!http_request) {
			 alert('Cannot create XMLHTTP instance');
			 return false;
		}
		
		http_request.onreadystatechange = alertContents_aktowka;
		http_request.open('POST', url, true);
		http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=utf-8");
		http_request.setRequestHeader("Content-length", parameters.length);
		http_request.setRequestHeader("Connection", "close");
		http_request.send(parameters);
}

function makePOSTRequestResultUlubione(url, parameters) {
		http_request = false;
		
		if (window.XMLHttpRequest) { // Mozilla
			 http_request = new XMLHttpRequest();
			 if (http_request.overrideMimeType) {
					http_request.overrideMimeType('text/xml');
			 }
		} 
		else if (window.ActiveXObject) { // IE
			try {
				http_request = new ActiveXObject("Msxml2.XMLHTTP");
			} 
			catch (e) {
				try {
					http_request = new ActiveXObject("Microsoft.XMLHTTP");
				} 
				catch (e) {}
			}
		}
		if (!http_request) {
			 alert('Cannot create XMLHTTP instance');
			 return false;
		}
		
		http_request.onreadystatechange = alertContents_ulubione;
		http_request.open('POST', url, true);
		http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=utf-8");
		http_request.setRequestHeader("Content-length", parameters.length);
		http_request.setRequestHeader("Connection", "close");
		http_request.send(parameters);
}

function alertContents_main() {
	if (http_request.readyState == 4) {
		 if (http_request.status == 200) {
				//alert(http_request.responseText);
				result = http_request.responseText;
				document.getElementById('ocenaGryOpcje').innerHTML = result;
		 } else {
				alert('There was a problem with the request.');
		 }
	}
}

function alertContents_tags() {
	if (http_request.readyState == 4) {
		 if (http_request.status == 200) {
				//alert(http_request.responseText);
				result = http_request.responseText;
				document.getElementById('ocenaGryTagsOpcje').innerHTML = result;
		 } else {
				alert('There was a problem with the request.');
		 }
	}
}

function alertContents_mood() {
	if (http_request.readyState == 4) {
		 if (http_request.status == 200) {
				//alert(http_request.responseText);
				result = http_request.responseText;
				document.getElementById('ocenaGryMoodOpcje').innerHTML = result;
		 } else {
				alert('There was a problem with the request.');
		 }
	}
}

function alertContents_aktowka() {
	if (http_request.readyState == 4) {
		 if (http_request.status == 200) {
				//alert(http_request.responseText);
				result = http_request.responseText;
				document.getElementById('zawartosc_aktowki').innerHTML = result;
		 } else {
				alert('There was a problem with the request.');
		 }
	}
}

function alertContents_ulubione() {
	if (http_request.readyState == 4) {
		 if (http_request.status == 200) {
				//alert(http_request.responseText);
				result = http_request.responseText;
				document.getElementById('ulubionegry').innerHTML = result;
		 } else {
				alert('There was a problem with the request.');
		 }
	}
}
	 
function gameStat(id) {			
	makePOSTRequest('statUpdate.php', 'id=' + id);	
}

function gameEvaluate(game,mark) {			
	makePOSTRequestResult('gameEvaluate.php', 'game=' + game + '&mark=' + mark);
}

function gameEvaluateTags(game,mark) {			
	makePOSTRequestResultTags('gameEvaluateTags.php', 'game=' + game + '&mark=' + mark); 
}

function gameEvaluateMood(game,mark) {			
	makePOSTRequestResultMood('gameEvaluateMood.php', 'game=' + game + '&mark=' + mark);
	/*document.getElementById('ocenaGryMoodWyniki').style.display = 'block'; 
	document.getElementById('ocenaGryMoodOpcje').style.display = 'none';
	*/
}

function gameFavorite(game,mode) {			
	
	if(mode == 2) { 
		makePOSTRequestResultUlubione('gameFavorite.php', 'game=' + game + '&mode=' +mode);
	}
	else { 
		makePOSTRequest('gameFavorite.php', 'game=' + game);
		alert('Gra została dodana do Twoich ulubionych'); 
	}
}

function gameAktowka(game,akcja,typ) {			
	
	if(akcja == 1) {  
		makePOSTRequest('gameAktowka.php', 'game=' + game + '&akcja=' + akcja);
		alert('Gra została dodana do Twojej aktówki'); 
	}
	else {
		makePOSTRequestResultAktowka('gameAktowka.php', 'game=' + game + '&akcja=2&typ=' + typ);
	}
}

function gameClick(gameId) {			
	window.open('frames.php?id=' + gameId);
}

function game2Click(gameId) {			
	document.location.href=('game.php?id=' + gameId);
}

function zglos_naruszenie(komId,gameId) {			
	document.location.href=('naruszenie.php?id=' + komId + '&game=' + gameId);
}
function powiadom_znajomego(gameId) {			
	document.location.href=('powiadom.php?id=' + gameId);
}
function recencja_gry(gameId) {			
	document.location.href=('recenzja.php?id=' + gameId);
}		
	

function checkPlainText(textBox)
{
	var alphaExp = /^[0-9a-zA-ZąćęłńóśźżĄĆĘŁŃÓŚŹŻ\-\_\,\.\-\_\s\;\:\)\(\?\!\"]+$/;
	
	while (textBox.value.length > 0 && !textBox.value.match(alphaExp)) {
		textBox.value = textBox.value.substring(0, textBox.value.length - 1)
	}
}

function checkPlainKomentarzText(textBox)
{
	var alphaExp = /^[0-9a-zA-ZąćęłńóśźżĄĆĘŁŃÓŚŹŻ\-\_\,\.\-\_\s\;\:\)\(\?\!\"]+$/;
	
	while (textBox.value.length > 0 && !textBox.value.match(alphaExp)) {
		textBox.value = textBox.value.substring(0, textBox.value.length - 1)
		
	}
	if(textBox.value.length > 2000) { textBox.value = textBox.value.substring(0, 2000) }
}

function checkPlainRecText(textBox)
{
	var alphaExp = /^[0-9a-zA-ZąćęłńóśźżĄĆĘŁŃÓŚŹŻ\-\_\,\.\-\_\s\;\:\)\(\?\!\"]+$/;
	
	while (textBox.value.length > 0 && !textBox.value.match(alphaExp)) {
		textBox.value = textBox.value.substring(0, textBox.value.length - 1)
		
	}
	if(textBox.value.length > 500) { textBox.value = textBox.value.substring(0, 500) }
}

function checkPlainTextUserName(textBox)
{
	var alphaExp = /^[0-9a-zA-Z]+$/;
	
	while (textBox.value.length > 0 && !textBox.value.match(alphaExp)) {
		textBox.value = textBox.value.substring(0, textBox.value.length - 1)
	}
	
	textBox.value = trim(textBox.value);
}

function checkAddRecForm() {
  with (window.document.frmAddRec) {
		checkPlainRecText(txtTresc);
		if (isEmpty(txtTresc, 'Wprowadź treść')) {
			return;
		}
		else {
			submit();
		}
	}
	submit();
}



function trim(str)
{
	return str.replace(/^\s+|\s+$/g,'');
}


function isEmpty(formElement, message) {
	formElement.value = trim(formElement.value);
	
	_isEmpty = false;
	if (formElement.value == '') {
		_isEmpty = true;
		alert(message);
		formElement.focus();
	}
	
	return _isEmpty;
}



function checkNumber(textBox)
{
	while (textBox.value.length > 0 && isNaN(textBox.value)) {
		textBox.value = textBox.value.substring(0, textBox.value.length - 1)
	}
	
	textBox.value = trim(textBox.value);
/*	if (textBox.value.length == 0) {
		textBox.value = 0;		
	} else {
		textBox.value = parseInt(textBox.value);
	}*/
}


function validatePassword(fld) {
    var error = "";
    var illegalChars = /[\W_]/; // allow only letters and numbers 
 
    if (fld.value == "") {
        fld.style.background = '#FB7F0D';
        error = "Wprowadź hasło\n";
    } else if ((fld.value.length < 8) || (fld.value.length > 20)) {
        error = "Wprowadzone hasło jest niepoprawnej długości\n";
        fld.style.background = '#FB7F0D';
    } else if ( (fld.value.search(/[a-zA-Z]+/)==-1) || (fld.value.search(/[0-9]+/)==-1) ) {
        error = "Hasło musi zawierać co najmniej 1 cyfrę oraz litery\n";
        fld.style.background = '#FB7F0D';
    } else {
        fld.style.background = '#3A3A3A';
    }
   return error;
}

function validateUsername(fld) {
    var error = "";
    var illegalChars = /[\W_]/; // allow only letters and numbers 
 
    if (fld.value == "") {
        fld.style.background = '#FB7F0D';
        error = "Wprowadź nazwę użytkownika\n";
    } else if ((fld.value.length < 4) || (fld.value.length > 15)) {
        error = "Nazwa użytkownika powinna mieć od 5 do 16 znaków\n";
        fld.style.background = '#FB7F0D';
    } else if (illegalChars.test(fld.value)) {
        error = "Nazwa użytkownika zawiera niepoprawne znaki\n";
        fld.style.background = '#FB7F0D';
    } else {
        fld.style.background = '#3A3A3A';
    }
   return error;
}    

function validateEmail(fld) {
    var error="";
    var tfld = trim(fld.value);                        // value of field with whitespace trimmed off
    var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;
    var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/ ;
   
    if (fld.value == "") {
        fld.style.background = '#FB7F0D';
        error = "Proszę wprowadzić adres e-mail\n";
    } else if (!emailFilter.test(tfld)) {              //test email for illegal characters
        fld.style.background = '#FB7F0D';
        error = "Proszę wprowadzić prawidłowy adres e-mail\n";
    } else if (fld.value.match(illegalChars)) {
        fld.style.background = '#FB7F0D';
        error = "Wprowadzony adres e-mail zawiera niedozwolone znaki\n";
    } else {
        fld.style.background = '#3A3A3A';
    }
    return error;
}

function validateEmailNow(fld) {
    var error="";
    var tfld = trim(fld.value);                        // value of field with whitespace trimmed off
    var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;
    var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/ ;
		
		myButton = document.getElementById('btnAdd');
   
    if (fld.value == "") {
        fld.style.background = '#FB7F0D';
        error = "Proszę wprowadzić adres e-mail\n";
				myButton.style.display = 'none';
    } else if (!emailFilter.test(tfld)) {              //test email for illegal characters
        fld.style.background = '#FB7F0D';
        error = "Proszę wprowadzić prawidłowy adres e-mail\n";
				myButton.style.display = 'none';
    } else if (fld.value.match(illegalChars)) {
        fld.style.background = '#FF0000';
        error = "Wprowadzony adres e-mail zawiera niedozwolone znaki\n";
				myButton.style.display = 'none';
    } else {
        fld.style.background = '#3A3A3A';
				myButton.style.display = 'inline';
    }
    return error;
}

function validateEmpty(fld) {
    var error="";
    var tfld = trim(fld.value);
   
    if (fld.value == "") {
        fld.style.background = '#FB7F0D';
        error = "Pole nie moze być puste\n";
    } else {
        fld.style.background = '#3A3A3A';
    }
    return error;
}

function validateCheckbox(chk){
	var error = "";
  if (chk.checked == 0)
    error = "Musisz zaakceptować regulamin\n";
  return error;
}


function checkAddKomForm()
{
	with (window.document.frmAddKom) {
		
		if(validateEmpty(txtTresc) != "") {
			var message1 = validateEmpty(txtTresc);
			alert(message1);
			return;
		}
		
		else {
			//alert('zarejestrowany');
			submit();
		}
	}
}


function checkModifyPlayerForm()
{
	with (window.document.frmModifyPlayer) {

		if(validateEmail(txtEmail) != "") {
			var message5 = validateEmail(txtEmail);
			alert(message5);
			return;
		}
		
		else if(validateEmpty(txtPlec) != "") {
			var message6 = validateEmpty(txtPlec);
			alert(message6);
			return;
		}
		
		else if(validateEmpty(txtMiasto) != "") {
			var message7 = validateEmpty(txtMiasto);
			alert(message7);
			return;
		}
		
		else if(validateEmpty(txtWojewodztwo) != "") {
			var message8 = validateEmpty(txtWojewodztwo);
			alert(message8);
			return;
		}
		
		else {
			//alert('zarejestrowany');
			submit();
		}
	}
}


function checkAddPlayerForm()
{
	with (window.document.frmAddPlayer) {
	
		if(validateUsername(txtLogin) != "") {
			var message = validateUsername(txtLogin);
			alert(message);
			return;
		}
		
		else if(validatePassword(txtPass) != "") {
			var message1 = validatePassword(txtPass);
			alert(message1);
			return;
		}
		
		else if(validatePassword(txtPass2) != "") {
			var message2 = validatePassword(txtPass2);
			alert(message2);
			return;
		}
		
		else if(txtPass.value != txtPass2.value) {
			alert('Wprowadzone hasła są od siebie różne');
			return;
		}
		
		
		else if(validateEmail(txtEmail) != "") {
			var message5 = validateEmail(txtEmail);
			alert(message5);
			return;
		}
		
		else if(validateEmpty(txtPlec) != "") {
			var message6 = validateEmpty(txtPlec);
			alert(message6);
			return;
		}
		
		else if(validateEmpty(txtMiasto) != "") {
			var message7 = validateEmpty(txtMiasto);
			alert(message7);
			return;
		}
		
		else if(validateEmpty(txtWojewodztwo) != "") {
			var message8 = validateEmpty(txtWojewodztwo);
			alert(message8);
			return;
		}
		
		else if(validateCheckbox(akceptacja1) != "") {
			var message9 = validateCheckbox(akceptacja1);
			alert(message9);
			return;
		}
		
		else {
			//alert('zarejestrowany');
			submit();
		}
	}
}


function checkPowiadomForm()
{
	with (window.document.frmPowiadom) {
	
		
		if(validateEmpty(gra_nazwa) != "") {
			var message1 = validateEmpty(gra_nazwa);
			alert(message1);
			return;
		}
		else if(validateEmail(email1) != "") {
			var message2 = validateEmail(email1);
			alert(message2);
			return;
		}
		
		else if(validateEmpty(podpis) != "") {
			var message3 = validateEmpty(podpis);
			alert(message3);
			return;
		}
		
		else {
			//alert('wysylanie');
			submit();
		}
	}
}


function checkRemindForm()
{
	with (window.document.frmRemindPass) {
	
		if(validateUsername(txtLogin) != "") {
			var message = validateUsername(txtLogin);
			alert(message);
			return;
		}

		else if(validateEmail(txtEmail) != "") {
			var message5 = validateEmail(txtEmail);
			alert(message5);
			return;
		}
		
		else {
			//alert('zarejestrowany');
			submit();
		}
	}
}

function checkRemind2Form()
{
	with (window.document.frmRemindPass) {
	
		if(validatePassword(txtPass) != "") {
			var message1 = validatePassword(txtPass);
			alert(message1);
			return;
		}
		else if(validatePassword(txtPass2) != "") {
			var message2 = validatePassword(txtPass2);
			alert(message2);
			return;
		}
		else if(txtPass.value != txtPass2.value) {
			alert('Wprowadzone hasła są od siebie różne');
			return;
		}
		
		else {
			//alert('zarejestrowany');
			submit();
		}
	}
}


function checkChangePasswordForm()
{
	with (window.document.frmChangePassword) {
	
		if(validatePassword(txtOldPass) != "") {
			var message1 = validatePassword(txtOldPass);
			alert(message1);
			return;
		}
		else if(validatePassword(txtPass) != "") {
			var message1 = validatePassword(txtPass);
			alert(message1);
			return;
		}
		else if(validatePassword(txtPass2) != "") {
			var message2 = validatePassword(txtPass2);
			alert(message2);
			return;
		}
		else if(txtPass.value != txtPass2.value) {
			alert('Wprowadzone hasła są od siebie różne');
			return;
		}
		
		else {
			//alert('zarejestrowany');
			submit();
		}
	}
}


function checkKonkursForm()
{
	with (window.document.frmKonkurs) {
	
		if(validateEmpty(gra_nazwa) != "") {
			var message1 = validateEmpty(gra_nazwa);
			alert(message1);
			return;
		}
		else if(validateEmpty(urlproposition) != "") {
			var message2 = validateEmpty(urlproposition);
			alert(message2);
			return;
		}
		else if(validateEmpty(gra_instrukcja) != "") {
			var message3 = validateEmpty(gra_instrukcja);
			alert(message3);
			return;
		}
		else if(validateCheckbox(akceptacja) != "") {
			var message4 = validateCheckbox(akceptacja);
			alert(message4);
			return;
		}
		else {
			//alert('zarejestrowany');
			submit();
		}
	}
}
