/*Vieraskirjaan kirjoittamisen tarkastus: vaaditut kentät pitää olla oikein täytetty */
function kirjoitaVieraskirjaan()
{
	/* Teksti-kentän tarkastus */
	var viesti = document.getElementById("viesti").value;
	if(viesti.length<3)
	{
		alert("Kirjoita nyt edes jotain siihen viestiisi. Ainakin 3 merkkiä!");
		document.getElementById("viesti").focus();
		return false;
	}
	/* Spämmieston tarkistus */
	var kuva_teksti = document.getElementById("kuva_teksti").value;

	if(kuva_teksti == "" || kuva_teksti.length < 3)
	{
		alert("Kirjoitappas jääkiekkoaiheinen kuvateksti!");
		document.getElementById("kuva_teksti").focus();
		return false;
	}
}
function tyhjennaVieraskirja()
{
	if (!confirm("Haluatko varmasti tyhjentää kaikki kentät?"))
	{
		return false
	}
}
function lahetaLinkki(){
	/* Jotain pitää edes lähettää */
	var kuvaus = document.getElementById("kuvaus").value;
	var urli = document.getElementById("urli").value;
	if(kuvaus == '' && urli == ''){
		alert("Kyllä siihen lomakkeeseen jotain pitää kirjoittaa ennen lähettämistä!");
		return false;
	}
	/* Nimi-kentän tarkastus */
	var kuvateksti = document.getElementById("kuva_teksti").value;
	if(kuvateksti.length<3){
		alert("Kirjoitappas sen kuvan teksti ennen kuin lähetät linkkiehdotuksen!");
		document.getElementById("kuva_teksti").focus();
		return false;
	}
}
/* ==============================================
	Palautelomakkeen skriptejä
===============================================*/
/* Lomakkeen tyhjennyksen varmistus. Disabloidaan tyhjennyksen jälkeen email-kenttä */
function tyhjennaPalaute()
{
	if (!confirm("Haluatko varmasti tyhjentää kaikki kentät?"))
	{
		return false
	}
	document.getElementById('email').disabled = true;
	document.getElementById('email').style.backgroundColor = "#ECE9D8";
	document.getElementById('email').value = "";
	document.getElementById("nimi").value= "";
	document.getElementById("otsikko").value = "";
	document.getElementById("teksti").value = "";
	document.getElementById("kuva_teksti").value = "";
	document.getElementById("merkkejaJaljella").value = "5000";
	document.getElementById('vastaus').checked = false;
	//aiheet
	var buttons = document.forms[0].aihe;
	 for (i=0; i < buttons.length; i++) {
        buttons[i].checked = false;
    }
}
/* Teksti-kentän jäljellä olevien merkkien näyttäminen */
function tarkistaMerkit()
{
	var maxPituus = 5000;
	var merkkejaYhteensa = document.getElementById("teksti").value.length;
	document.getElementById("merkkejaJaljella").value = maxPituus - merkkejaYhteensa;
}
/* Email-kentän näyttäminen/piilottaminen riippuen halutaanko vastausta palautteeseen */
function paivitaEmail() {

	if (document.getElementById('vastaus').checked == true) {
		document.getElementById('email').disabled = false;
		document.getElementById('email').style.backgroundColor = "#FFFFFF";
	} else {
		document.getElementById('email').disabled = true;
		document.getElementById('email').style.backgroundColor = "#DEDDD6";
		document.getElementById('email').value = "";
	}

}
/* Tarkistaa että jokin ryhmän radio button on valittu*/
function tarkista_radio_button(radio_buttons) {
    var cnt = -1;
    for (var i=radio_buttons.length-1; i > -1; i--) {
        if (radio_buttons[i].checked) {cnt = i;i = -1;}
    }
    if (cnt > -1) return radio_buttons[cnt].value;
    else return null;
}
/* Palautteen lähettämisen tarkastus: vaaditut kentät pitää olla oikein täytetty */
function lahetaPalaute(formi)
{
	/* Nimi-kentän tarkastus */
	var nimi = document.getElementById("nimi").value;
	if(nimi.length<2)
	{
		alert("Et antanut nimeäsi!");
		document.getElementById("nimi").focus();
		return false;
	}
	if(nimi.length>50)
	{
		alert("Nimen pituus on rajoitettu 50 merkkiin!");
		document.getElementById("nimi").focus();
		return false;
	}
	/* Aiheen tarkastus */
	var radio_button = tarkista_radio_button(formi.aihe);
	if (radio_button == null) {
		alert('Palautteen aihe pitää valita');
		return false;
	}
	/* Otsikko-kentän tarkastus */
	var otsikko = document.getElementById("otsikko").value;
	if(otsikko.length<3)
	{
		alert("Palautteellasi ei ole otsikkoa! (min. 3 merkkiä)");
		document.getElementById("otsikko").focus();
		return false;
	}
	if(otsikko.length>50)
	{
		alert("Palautteen otsikon pituus on rajattu 50 merkkiin!");
		document.getElementById("otsikko").focus();
		return false;
	}
	/* Teksti-kentän tarkastus */
	var teksti = document.getElementById("teksti").value;
	if(teksti.length<10)
	{
		alert("Kirjoita nyt edes jotain siihen palutteeseen! (min. 10 merkkiä)");
		document.getElementById("teksti").focus();
		return false;
	}
	if(teksti.length>5000)
	{
		alert("Ei tänne mitään romaania tartte kirjoittaa, max 5000 merkkiä!");
		document.getElementById("teksti").focus();
		return false;
	}
	/*Tarkastetaan, onko valittuna, että halutaan palautteeseen vastattavan*/
	if(document.getElementById("vastaus").checked == true)
	{
		/* Email-kenttä pitää olla oikein täytetty, jos halutaan palautteeseen vastaus */
		var email=document.getElementById("email").value;
		var reg = /^[a-zA-Z]+([_\.-]?[a-zA-Z0-9]+)*@[a-zA-Z0-9]+([\.-]?[a-zA-Z0-9]+)*(\.[a-zA-Z]{2,4})+$/;
		if(reg.test(email) == false) {
		  alert('Valitsit, että haluat palautteeseesi vastattavan, mutta et antanut sähköpostiosoitettasi tai se on virheellinen!');
		  return false;
		}
	}
}
//bb koodin lisääminen vieraskirjan viestiin
function insertBB (id, code1, code2, code3, code4) {

	var message = document.getElementById(id);
	var text;
	var text1;
	var i;
	var isMozilla = (navigator.userAgent.toLowerCase().indexOf('gecko')!=-1) ? true : false;
	var isIE = (navigator.userAgent.toLowerCase().indexOf('MSIE')!=-1) ? true : false;

	this.code1 = code1;
	this.code2 = code2;
	this.code3 = code3;
	this.code4 = code4;

	if (!isMozilla) {
		var str = document.selection.createRange().text;
		if (str.length > 0) {
			var sel = document.selection.createRange();
			if ((code2 != '') && (code4 == '2')) {
				text = prompt("Anna linkin url osoite", "");
				if ((text == '') || (text == null)) {
					return false;
				}
				if(text.toLowerCase().substr(0,7) != 'http://'){
					text = 'http://' + text;
				}
				sel.text = code1 + text + code2 + str + code3;
				sel.collapse();
				sel.select();
			}
			else {
				if (code4 == 0) {
					sel.text = code1;
					sel.collapse();
					sel.select();
				}
				else {
					sel.text = code1 + str + code3;
					sel.collapse();
					sel.select();
				}
			}
		}
		else {
			message.focus(message.caretPos);
			message.focus(message.value.length);
			message.caretPos = document.selection.createRange().duplicate();
			var bidon = "%~%";
			var orig = message.value;

			if ((code2 != '') && (code4 == '2')) {
				text = prompt("Anna linkin url osoite", "");
				if ((text == '') || (text == null)) {
					return false;
				}
				if(text.toLowerCase().substr(0,7) != 'http://'){
					text = 'http://' + text;
				}
				text1 = prompt("Anna linkille nimi (ei pakollinen)", "");

				if (text1 == null) {
					return false;
				}
				if (text1 == '') {
					text1 = text;
				}
				message.caretPos.text = bidon;
				i = message.value.search(bidon);
				message.value = orig.substr(0,i) + code1 + text + code2 + text1 + code3 + orig.substr(i, message.value.length);
			}
			else {
				if (code4 == '1') {
					text1 = prompt("Kirjoita teksti jonka haluat muotoilla", "");
					if ((text1 == '') || (text1 == null)) {
						return false;
					}
					message.caretPos.text = bidon;
					i = message.value.search(bidon);

					message.value = orig.substr(0,i) + code1 + text1 + code3 + orig.substr(i, message.value.length);
				}
				else {

					message.caretPos.text = bidon;
					i = message.value.search(bidon);

					if (code4 == 0) {
						message.value = orig.substr(0,i) + code1 + orig.substr(i, message.value.length);
					}
					else {
						message.value = orig.substr(0,i) + code1 + code3 + orig.substr(i, message.value.length);
					}
				}
			}
			message.focus();
		}
	}
	else {
		// the text before the selection
		var pretext = message.value.substring(0, message.selectionStart);
		// the selected text with tags before and after
		var codetext = message.value.substring(message.selectionStart, message.selectionEnd);
		// the text after the selection
		var posttext = message.value.substring(message.selectionEnd, message.value.length);
		if (! codetext) {
			if ((code2 != '') && (code4 == '2')) {
				text = prompt("Anna linkin url osoite", "");

				if ((text == '') || (text == null)) {
					return false;
				}
				if(text.toLowerCase().substr(0,7) != 'http://'){
					text = 'http://' + text;
				}

				text1 = prompt("Anna linkille nimi (ei pakollinen)", "");

				if (text1 == null) {
					return false;
				}

				if (text1 == '') {
					text1 = text;
				}
				message.value = pretext + code1 + text + code2 + text1 + code3 + codetext + posttext;
			}
			else {
				if (code4 == '1') {
					text1 = prompt("Kirjoita teksti jonka haluat muotoilla", "");

					if ((text1 == '') || (text1 == null)) {
						return false;
					}
					message.value = pretext + code1 + text1 + code3 + codetext + posttext;
				}
				else {
					if (code4 == 0) {
						message.value = pretext + code1 + codetext + posttext;
					}
					else {
						message.value = pretext + code1 + code3 + codetext + posttext;
					}
				}
			}
		}
		else {
			if ((code2 != '') && (code4 == '2')) {
				text = prompt("Anna linkin url osoite", "");
				if ((text == '') || (text == null)) {
					return false;
				}
				if(text.toLowerCase().substr(0,7) != 'http://'){
					text = 'http://' + text;
				}
				message.value = pretext + code1 + text + code2 + codetext + code3 + posttext;
			}
			else {
				if (code4 == 0) {
					message.value = pretext + code1 + posttext;
				}
				else {
					message.value = pretext + code1 + codetext + code3 + posttext;
				}
			}
		}
		message.focus();
	}
}
//funktio joka piilottaa/näyttää uran tilastojen sarjakohtaiset tilastot
function piilota_sarjat(id, toiminto){
	var taulun_rivit = document.getElementById(id).rows;
	for (i = 0; i < taulun_rivit.length; i++) {
		if(toiminto == 'piilota' && taulun_rivit[i].className == ''){
			taulun_rivit[i].className = 'piilota';
		}
		else if(toiminto == 'nayta' && taulun_rivit[i].className == 'piilota'){
			taulun_rivit[i].className = '';
		}
	}
	return false;
}
//XMLHttpRequest pyyntö functiot alkaa tästä
//luodaan XMLHttpRequest
var xmlHttp;
//kansio jossa scriptit sijaitsee
var request_folder = "requests/";
function createXMLHttpRequest() {
    if (window.XMLHttpRequest) {
        xmlHttp = new XMLHttpRequest();
    }
	else if (window.ActiveXObject) {
        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
}
//lähetetään pyyntö päivittää haluttu kausinäkymä
function paivita_kausi_nakyma_joukkue(formi){
	createXMLHttpRequest();
	//url johon pyyntö lähetetään, parametsinä haettu kauden id
	var url;
    var arvo = formi.kaudet_id.options[formi.kaudet_id.selectedIndex].value;
   if (arvo) {
        url = request_folder + "XMLhttp_paivita_kausi_nakyma.php?kaudet_id=" + arvo + "&random="+new Date().getTime();
    }
	else{
		url = request_folder + "XMLhttp_paivita_kausi_nakyma.php?kaudet_id=oletus&random="+new Date().getTime();
	}
	xmlHttp.onreadystatechange = hoida_nakyman_muutokset_jukkue;
    xmlHttp.open("GET", url, true);
    xmlHttp.send(null);
	return false;
}
function hoida_nakyman_muutokset_jukkue(){
	if(xmlHttp.readyState == 4) {
        if(xmlHttp.status == 200) {
			if(xmlHttp.responseText != ""){
				poista_vanha_sisalto("joukkue_tilastot");
				document.getElementById("joukkue_tilastot").innerHTML = xmlHttp.responseText;
			}
        }
    }
}
//lähetetään pyyntö jolla haetaan ajankohtaista uutisen koko teksti
function hae_ajankohtaista(aj_id,a_id){
	createXMLHttpRequest();
	var url = request_folder + "XMLhttp_hae_ajankohtaista.php?a_id=" + a_id + "&random="+new Date().getTime();
	xmlHttp.onreadystatechange = function() {hoida_hae_ajankohtaista(aj_id);};
    xmlHttp.open("GET", url, true);
    xmlHttp.send(null);
	return false;
}
function hoida_hae_ajankohtaista(aj_id){
	if(xmlHttp.readyState == 4) {
        if(xmlHttp.status == 200) {
			if(xmlHttp.responseText != "" && xmlHttp.responseText != "<<tyhja>>"){
				poista_vanha_sisalto(aj_id);
				document.getElementById(aj_id).innerHTML = xmlHttp.responseText;
			}
        }
    }
}
//lähetetään pyyntö jolla haetaan pelaajan ottelukohtaiset tilastot tai uran tilastot
function hae_pelaaja_tilastot(pelaaja_id,el){
	createXMLHttpRequest();
	//tällä varmistetaan missä ollaan
	var nakyma = document.getElementById("ottelukohtaiset_tilastot");
	var url;
	//muodostetaan url saatujen parametrien mukaan
	if(el.nodeName == 'A'){
		//ollaan painettu otsikon linkkiä eli halutaan ottelukohtaiset tilastot meneillään olevalta kaudelta tai uran tilastot
		if(el.innerHTML == 'Ura JU:ssa' && nakyma){
			//halutaan uran tilastoja
			url = request_folder + "XMLhttp_hae_pelaaja_tilastot.php?pelaaja_id=" + pelaaja_id + "&nayta=ura&random="+new Date().getTime();
		}
		else if (el.innerHTML == 'Ottelu ottelulta' && !nakyma){
			//halutaan ottelukohtaiset tilastot
			url = request_folder + "XMLhttp_hae_pelaaja_tilastot.php?pelaaja_id=" + pelaaja_id + "&nayta=ottelut&random="+new Date().getTime();
		}
		else{
			//virheellinen parametri tai sitten painettiin välilehden linkkiä jossa jo oltiin
			return false;
		}
	}
	else if(el.nodeName == 'FORM'){
		//ollaan lähettämässä lomake ottelukohtaisista tilastoista
		//katsotaan mitä kautta ollaan hakemassa
		var arvo = el.kaudet_id.options[el.kaudet_id.selectedIndex].value;
		url = request_folder + "XMLhttp_hae_pelaaja_tilastot.php?pelaaja_id=" + pelaaja_id + "&kaudet_id="+ arvo +"&nayta=ottelut&random="+new Date().getTime();
	}
	else{
		//virheellinen parametri
		return false;
	}
	xmlHttp.onreadystatechange = hoida_pelaajan_tilastot;
    xmlHttp.open("GET", url, true);
    xmlHttp.send(null);
	return false;
}
function hoida_pelaajan_tilastot(){
	if(xmlHttp.readyState == 4) {
        if(xmlHttp.status == 200) {
			if(xmlHttp.responseText != ""){
				//pilkotaan vastaus
				var vastaus_taulu = xmlHttp.responseText.split('<<pilko>>');
				//pitää tulla vähintään kaksi taulun alkiota
				if(vastaus_taulu.length > 1){
					var el
					var monesko
					//katsotaan mistä vastaus tuli
					if(vastaus_taulu[0] == 'URA'){
						//laitetaan oikea välilehti aktiiviseksi
						el = document.getElementById("tilasto_valilehdet");
						monesko = 0;
						for (i = 0; i < el.childNodes.length; i++) {
							//etsitään toinen "li" elementti ja laitetaan se nykyiseksi
							if(el.childNodes[i].nodeName == 'LI' && monesko == 0){
								//nyt ollaan ensimmäisessä, laitetaan sen class tyhjäksi
								el.childNodes[i].className = '';
								monesko++;
								continue;
							}
							if(el.childNodes[i].nodeName == 'LI' && monesko == 1){
								//nyt ollaan ensimmäisessä, laitetaan sen class tyhjäksi
								el.childNodes[i].className = 'nykyinen';
								break;
							}
						}
						poista_vanha_sisalto("pelaaja_tilastot");
						document.getElementById("pelaaja_tilastot").innerHTML = vastaus_taulu[1];
					}
					if(vastaus_taulu[0] == 'OTTELUT'){
						//laitetaan oikea välilehti aktiiviseksi
						el = document.getElementById("tilasto_valilehdet");
						monesko = 0;
						for (i = 0; i < el.childNodes.length; i++) {
							//etsitään toinen "li" elementti ja laitetaan se nykyiseksi
							if(el.childNodes[i].nodeName == 'LI' && monesko == 0){
								//nyt ollaan ensimmäisessä, laitetaan sen class nykyiseksi
								el.childNodes[i].className = 'nykyinen';
								monesko++;
								continue;
							}
							if(el.childNodes[i].nodeName == 'LI' && monesko == 1){
								//nyt ollaan ensimmäisessä, laitetaan sen class tyhjäksi
								el.childNodes[i].className = '';
								break;
							}
						}
						poista_vanha_sisalto("pelaaja_tilastot");
						document.getElementById("pelaaja_tilastot").innerHTML = vastaus_taulu[1];
					}
				}
			}
        }
    }
}
//poistetaan vanha sisältö uuden tieltä
function poista_vanha_sisalto(id) {
    var sisalto = document.getElementById(id);
    while(sisalto.childNodes.length > 0) {
        sisalto.removeChild(sisalto.childNodes[0]);
    }
}

//XMLHttpRequest pyyntö functiot loppuu tähän

/* ==============================================
	Kommentoi ehdotusta "popup" ikkunan skriptit
===============================================*/
function toggle(div_id) {
	var el = document.getElementById(div_id);
	if ( el.style.display == 'none' ) {el.style.display = 'block'; return 'nayta'}
	else {el.style.display = 'none'; return 'piilota'}
}
function findPos(obj) {
	var curtop = 0;
	if (obj.offsetParent) {
		do {
			//curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
		} while (obj = obj.offsetParent);
	}
	return curtop;
}
function setPos(coordinates,popUpDivVar){
	var popUpDiv = document.getElementById(popUpDivVar);
	//var popUpDivHeight = popUpDiv.offsetHeight;
	//var el_width = coordinates[0]/2;
	popUpDiv.style.left = '95px';

	var el_height = coordinates - 430;
	popUpDiv.style.top = el_height + 'px';
}
function setHiddenValue(id){
	document.getElementById("komment_id").value = id;
	//alert(document.getElementById("komment_id").value);
}
function setHeader(id){
	//haetaan ehdotuksen otsikko
	var uusi_otsikko = document.getElementById("ots_" + id).innerHTML;
	//poistetaan mahdollinen vanha otsikko
	var otsikko = document.getElementById("kommentoitava");
    while(otsikko.childNodes.length > 0) {
        otsikko.removeChild(otsikko.childNodes[0]);
    }
	//laitetaan uusi otsikko
	otsikko.innerHTML = uusi_otsikko;
}
function popup(windowname,komment_id) {
	//blanket_size(windowname);
	//window_pos(windowname);
	var el = document.getElementById('toim_'+komment_id);
	var y = findPos(el);
	setHiddenValue(komment_id);
	setPos(y,windowname);
	setHeader(komment_id);
	toggle(windowname);
}
function naytaKommentit(id) {
	// tähän vielä scripti joka muuttaa linkin nimen Näytä kommnetit/Piilota kommentit
	var el = document.getElementById("link_" + id);
	var teksti_nyt = el.innerHTML;
	if(teksti_nyt == 'Näytä kommentit'){
		el.removeChild(el.childNodes[0]);
		el.innerHTML = 'Sulje kommentit';
	}
	else{
		el.removeChild(el.childNodes[0]);
		el.innerHTML = 'Näytä kommentit';
	}
	toggle("kom_" + id);
}

function lahetaKommentti()
{
	var kommentti = document.getElementById("kommentti").value;

	if(kommentti.length>5000)
	{
		alert("Ei tänne mitään romaania tartte kirjoittaa, max 5000 merkkiä!");
		document.getElementById("kommentti").focus();
		return false;
	}
	if(kommentti.length<10)
	{
		alert("Kirjoita nyt edes jotain kommenttia, min 10 merkkiä!");
		document.getElementById("kommentti").focus();
		return false;
	}
}

function laheta_lomake(lomake,arvo){
	//laitetaan piilokentän arvo
	var formi = document.getElementById(lomake);
	formi.tulossa.value=arvo;
	//jos ollaan päivittämässä kommentta, se ei voi olla tyhjä
	if (arvo == 'kom'){
		var kommentti = formi.kommentti.value;
		if(kommentti.length<2){
			alert("Jos meinaat lisätä/päivittää kommenttia, niin kirjoita nyt edes jotain siihen kenttään. Ainakin 2 merkkiä!");
			formi.kommentti.focus();
			return false;
		}
	}
	//lähetetään lomake
	formi.submit();
	return false;
}
/* ==============================================
Kommentoi ottelua scriptit
===============================================*/
//functio piilottaa yhden elementin ja näytää toisen
function piilota_nayta(piilota, nayta){
	if(piilota){
		toggle(piilota);
	}
	if(nayta){
		toggle(nayta);
	}
	return false;
}
//funktio joka näyttä ja piilottaa kommentti lomakkeen
function kommentti_lomake(){
	var kuva;
	var tulos = toggle('laheta_kommentti');
	if (tulos == 'nayta'){
		kuva = document.getElementById('plusmiinus');
		kuva.src='kuvat/miinus.png';
	}
	else if(tulos == 'piilota'){
		kuva = document.getElementById('plusmiinus');
		kuva.src='kuvat/plus.png';
	}
}
