var textarea=document.getElementsByTagName("textarea")[0];
/*document.getElementById("tex").onclick=function()
{
	vlozZnacku(textarea, "[tex][/tex]")
}*/

function vlozZnacku(textarea, text) 
{								

	// pro IE a jiné prohlížeče, které podporují "document.selection"

	if (document.selection) {

		textarea.focus();

		vyber = document.selection.createRange();

		vyber.text = text;

	}

	

	// pro prohlížeče postavené na jádře Gecko

	else if (textarea.selectionStart || textarea.selectionStart == 0) {

		startPos = textarea.selectionStart;

		endPos = textarea.selectionEnd;

		textarea.value = textarea.value.substring(0, startPos) + text + textarea.value.substring(endPos, textarea.value.length);

	}

	

	else textarea.value += text;

}


//Zrušení prvního tlačítka smazat, ať uživatel nemůže smazat topic
uzivatel = document.getElementsByTagName("strong")[1].innerHTML;

document.getElementsByClassName = function(cl) {
	var retnode = [];
	var myclass = new RegExp('\\b'+cl+'\\b');
	var elem = this.getElementsByTagName('*');
	for (var i = 0; i < elem.length; i++) {
	var classes = elem[i].className;
	if (myclass.test(classes)) retnode.push(elem[i]);
	}
	return retnode;
};


pokus = document.getElementsByClassName("inbox")[4];
odkaz = pokus.getElementsByClassName("postdelete")[0];

if(!(uzivatel=="Kondr" || uzivatel=="Lukee" || uzivatel=="Saturday" || uzivatel=="Lishaak" || uzivatel=="Pavel Broek"))
{
	//odkaz.innerHTML="";
}

//Funkčnost tlačítka reagovat
function reagovat(id, jmeno)
{
	/*texta=document.getElementsByTagName("textarea")[0];
	
	texta.value+="[re]p"+id+"|"+jmeno+"[/re]";*/
	
	vlozZnacku(textarea, "[re]p"+id+"|"+jmeno+"[/re]");
	textarea.focus();
}


//Po kliknutí na TeXový obrázek se výraz v TeXu hodí do Textarea
function zkopirujTex(vyraz)
{
	vlozZnacku(textarea, vyraz);
}

function zkopirujTriDolary(vyraz)
{
	vlozZnacku(textarea, vyraz);
}

function zkopirujMathTex(vyraz, znacka)
{
	vlozZnacku(textarea, "[" + znacka + "]"+vyraz+"[/" + znacka + "]");
}


// Zobrazí skryté řešení
function showSolution(solution, button)
{
	if(document.getElementById(solution).style.display == "block")
	{
		document.getElementById(solution).style.display = "none";
	}
	else
	{
		document.getElementById(solution).style.display = "block";
	}
}

// Kontroluje, jestli nejsou v nadpisu jen velká písmena
function vocekujTo(text, input)
{
	var regvyraz = new RegExp("[a-zěščřžýáíé]");
	var upozorneni = document.getElementById("velka_pismena");
	var odeslat = document.forms["post"].elements["submit"];
	var nahled = document.forms["post"].elements["preview"];
	
	if(text != "")
	{
		if(text.match(regvyraz))
		{
			upozorneni.style.display = "none";
			input.style.background="inherit";
			odeslat.disabled = false;
			nahled.disabled = false;
		}
		else
		{
			upozorneni.style.display = "block";
			input.style.background="red";
			odeslat.disabled = true;
			nahled.disabled = true;
		}
	}
}

function naMala(input)
{
	var nazev = document.forms["post"].elements["req_subject"];
	nazev.value = nazev.value.toLowerCase();
	
	var upozorneni = document.getElementById("velka_pismena");
	upozorneni.style.display = "none";
	nazev.style.background="inherit";
	
	var odeslat = document.forms["post"].elements["submit"];
	var nahled = document.forms["post"].elements["preview"];
	odeslat.disabled = false;
	nahled.disabled = false;
}

// Skryje/zobrazí Latexový editor
function skryjLatex()
{
	lb = document.getElementById("vpravo");
	vlevo = document.getElementById("vlevo");
	skrytTex = document.getElementById("skrytTex");
	odkazEditor = document.getElementById("odkaz_editor");
	
	if(lb.style.display == "none")
	{
		lb.style.display = "block";
		vlevo.style.width = "60%";
		setCookie("latex", "1", 1000);
		skrytTex.innerHTML = "Skryj LaTeXov&yacute; editor";
                odkazEditor.innerHTML = "vpravo";
	}
	else
	{
		lb.style.display = "none";
		vlevo.style.width = "100%";
		setCookie("latex", "0", 1000);
		skrytTex.innerHTML = "Zobraz LaTeXov&yacute; editor";
                odkazEditor.innerHTML = "<a href=\"\" onclick=\"skryjLatex(); return false;\">zobrazit</a>";
	}
}

function setCookie( name, value, expires, path, domain, secure )
{
	// set time, it's in milliseconds
	var today = new Date();
	today.setTime( today.getTime() );
	
	/*
	if the expires variable is set, make the correct
	expires time, the current script below will set
	it for x number of days, to make it for hours,
	delete * 24, for minutes, delete * 60 * 24
	*/
	if ( expires )
	{
	expires = expires * 1000 * 60 * 60 * 24;
	}
	var expires_date = new Date( today.getTime() + (expires) );
	
	document.cookie = name + "=" +escape( value ) +
	( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) +
	( ( path ) ? ";path=" + path : "" ) +
	( ( domain ) ? ";domain=" + domain : "" ) +
	( ( secure ) ? ";secure" : "" );
}

function setFavourite(user, topic)
{
    if (window.ActiveXObject)
    {
        httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
    }
    else
    {
        httpRequest = new XMLHttpRequest();
    }
    
    httpRequest.open("GET", 'favourite_topics.php?user=' + user + '&topic=' + topic + '&action=set_favourite', true);
    httpRequest.onreadystatechange= function () {processRequestSetFavourite();} ;
    httpRequest.send(null);
}

function unsetFavourite(user, topic)
{
    if (window.ActiveXObject)
    {
        httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
    }
    else
    {
        httpRequest = new XMLHttpRequest();
    }
    
    httpRequest.open("GET", 'favourite_topics.php?user=' + user + '&topic=' + topic + '&action=unset_favourite', true);
    httpRequest.onreadystatechange= function () {processRequestUnsetFavourite();} ;
    httpRequest.send(null);
}

function processRequestSetFavourite()
{
    if (httpRequest.readyState == 4)
    {
        if(httpRequest.status == 200)
        {
            var xml = httpRequest.responseXML;
            var result = xml.getElementsByTagName('result')[0].childNodes[0].nodeValue;
            
            if (result == '0')
            {
                var chybova_hlaska = xml.getElementsByTagName('chybova_hlaska')[0].childNodes[0].nodeValue;
                alert(chybova_hlaska);
                return;
            }
            
            var user = xml.getElementsByTagName('user')[0].childNodes[0].nodeValue;
            var topic = xml.getElementsByTagName('topic')[0].childNodes[0].nodeValue;
         
            var icon = document.getElementById('icon_' + topic);
            icon.style.borderWidth = '0px';
            icon.style.width = "12px";
            icon.style.height = "12px";
            icon.onclick = function() {unsetFavourite(user, topic);};
            icon.title = 'Odebrat z oblbench tmat';

            if (icon.className.indexOf('inew') > 0)
                icon.style.backgroundImage = 'url(img/star.png)';
            else
                icon.style.backgroundImage = 'url(img/star_grey.png)';
        }
        else
        {
            alert("Chyba pi komunikaci se serverem. Zkuste to prosm znovu.");
        }
    }
}

function processRequestUnsetFavourite()
{
    if (httpRequest.readyState == 4)
    {
        if(httpRequest.status == 200)
        {
            var xml = httpRequest.responseXML;
            var result = xml.getElementsByTagName('result')[0].childNodes[0].nodeValue;
            
            if (result == '0')
            {
                var chybova_hlaska = xml.getElementsByTagName('chybova_hlaska')[0].childNodes[0].nodeValue;
                alert(chybova_hlaska);
                return;
            }
            
            var user = xml.getElementsByTagName('user')[0].childNodes[0].nodeValue;
            var topic = xml.getElementsByTagName('topic')[0].childNodes[0].nodeValue;
            
            var icon = document.getElementById('icon_' + topic);
            icon.style.borderWidth = '0.6em';
            icon.style.width = "0";
            icon.style.height = "0";
            icon.style.backgroundImage = '';
            icon.onclick = function() {setFavourite(user, topic);};
            icon.title = 'Oznait tma jako oblben';
        }
        else
        {
            alert("Chyba pi komunikaci se serverem. Zkuste to prosm znovu.");
        }
    }
}

function topic_icon_over(id)
{
    document.getElementById('topic_not_favourite_icon_' + id).style.display = 'none';
    document.getElementById('topic_favourite_icon_' + id).style.display = 'block';
}

function topic_icon_out(id)
{
    document.getElementById('topic_not_favourite_icon_' + id).style.display = 'block';
    document.getElementById('topic_favourite_icon_' + id).style.display = 'none';
}
