// JavaScript Document

function surroundText(text1, text2, textarea)
{
	// Can a text range be created?
	if (typeof(textarea.caretPos) != "undefined" && textarea.createTextRange)
	{
		var caretPos = textarea.caretPos, temp_length = caretPos.text.length;

		caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text1 + caretPos.text + text2 + ' ' : text1 + caretPos.text + text2;

		if (temp_length == 0)
		{
			caretPos.moveStart("character", -text2.length);
			caretPos.moveEnd("character", -text2.length);
			caretPos.select();
		}
		else
			textarea.focus(caretPos);
	}
	// Mozilla text range wrap.
	else if (typeof(textarea.selectionStart) != "undefined")
	{
		var begin = textarea.value.substr(0, textarea.selectionStart);
		var selection = textarea.value.substr(textarea.selectionStart, textarea.selectionEnd - textarea.selectionStart);
		var end = textarea.value.substr(textarea.selectionEnd);
		var newCursorPos = textarea.selectionStart;
		var scrollPos = textarea.scrollTop;

		textarea.value = begin + text1 + selection + text2 + end;

		if (textarea.setSelectionRange)
		{
			if (selection.length == 0)
				textarea.setSelectionRange(newCursorPos + text1.length, newCursorPos + text1.length);
			else
				textarea.setSelectionRange(newCursorPos, newCursorPos + text1.length + selection.length + text2.length);
			textarea.focus();
		}
		textarea.scrollTop = scrollPos;
	}
	// Just put them on the end, then.
	else
	{
		textarea.value += text1 + text2;
		textarea.focus(textarea.value.length - 1);
	}
}
function zprava()
{
alert("pepoty kanče :-)");
}

function replaceText(text, textarea)
{
	// Attempt to create a text range (IE).
	if (typeof(textarea.caretPos) != "undefined" && textarea.createTextRange)
	{
		var caretPos = textarea.caretPos;

		caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text;
		caretPos.select();
	}
	// Mozilla text range replace.
	else if (typeof(textarea.selectionStart) != "undefined")
	{
		var begin = textarea.value.substr(0, textarea.selectionStart);
		var end = textarea.value.substr(textarea.selectionEnd);
		var scrollPos = textarea.scrollTop;

		textarea.value = begin + text + end;

		if (textarea.setSelectionRange)
		{
			textarea.focus();
			textarea.setSelectionRange(begin.length + text.length, begin.length + text.length);
		}
		textarea.scrollTop = scrollPos;
	}
	// Just put it on the end.
	else
	{
		textarea.value += text;
		textarea.focus(textarea.value.length - 1);
	}
}


function initRequest()
		{
        var httpRequest;
        if (window.XMLHttpRequest) { // Mozilla, Safari, ...
            httpRequest = new XMLHttpRequest();
        } 
        else if (window.ActiveXObject) { // IE
            try {
                httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
                } 
                catch (e) {
                           try {
                                httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
                               } 
                             catch (e) {}
                          }
                                       }

        if (!httpRequest) {
            alert('Giving up :( Cannot create an XMLHTTP instance');
            return false;
        }
		return httpRequest;
		}



function makeRequest(actionid,sndtype,sndcontent,sndparams) {
    var httpRequest;
		var url;
		var content;
		var type;
		var param;
		
		httpRequest = initRequest();
		type = sndtype;
		content = sndcontent;
		param = sndparams;
		url = actionid;
					
		if ((type=='GET')&&(param!='')) 
			{
			url=url+'?'+param;
			param=null;
			}
						
	if (param=='') { param = null; } else { param=encodeURI(param); };
	
        httpRequest.onreadystatechange = function() { alertContents(httpRequest,content); };
        httpRequest.open(type, url, true)
		    httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=utf-8'); 
		    httpRequest.setRequestHeader('Content-length', param.length);
        httpRequest.send(param);
        alert(httpRequest);

    }

  function alertContents(httpRequest,sndcontent) {
        var obsah;
		if (httpRequest.readyState == 4) 
			{
            if (httpRequest.status == 200) 
				{
                obsah = document.getElementById(sndcontent);
				obsah.innerHTML = httpRequest.responseText;
				alert(sndcontent);
				} else 
				{
                alert(httpRequest.status+' Problem se zpracovanim pozadavku');
            	}
        	}

    	}

function show_hide(el) {
    if (/(^| )hidden-js( |$)/.test(el.className)) {
        el.className = el.className.replace(/(^| )hidden-js( |$)/, '$2');
    } else {
        el.className += ' hidden-js';
    }
    
    return true;
}

function openUrl(url){
    wasOpen  = false;
    win = window.open(url);    
    return (typeof(win)=='object')?true:false;
  }


function activate(id){
 $('.m-kat').removeClass('hover');
 $('#kat-'+id).addClass('hover');
}

function odkryt(){
  if(document.getElementById("skryte").style.display == "block"){
  document.getElementById("skryte").style.display = "none";
  document.getElementById("skryte_text").innerHTML = "BBCode";
  }
  else{
  document.getElementById("skryte").style.display = "block";
  document.getElementById("skryte_text").innerHTML = "Skrýt...";
  }
}

/***********************************************
* Dynamic Countdown script- � Dynamic Drive (http://www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit http://www.dynamicdrive.com/ for this script and 100s more.
***********************************************/

function cdtime(container, targetdate){
if (!document.getElementById || !document.getElementById(container)) return
this.container=document.getElementById(container)
this.currentTime=new Date()
this.targetdate=new Date(targetdate)
this.timesup=false
this.updateTime()
}

cdtime.prototype.updateTime=function(){
var thisobj=this
this.currentTime.setSeconds(this.currentTime.getSeconds()+1)
setTimeout(function(){thisobj.updateTime()}, 1000) //update time every second
}

cdtime.prototype.displaycountdown=function(baseunit, functionref){
this.baseunit=baseunit
this.formatresults=functionref
this.showresults()
}

cdtime.prototype.showresults=function(){
var thisobj=this


var timediff=(this.targetdate-this.currentTime)/1000 //difference btw target date and current date, in seconds
if (timediff<0){ //if time is up
this.timesup=true
this.container.innerHTML=this.formatresults()
return
}
var oneMinute=60 //minute unit in seconds
var oneHour=60*60 //hour unit in seconds
var oneDay=60*60*24 //day unit in seconds
var dayfield=Math.floor(timediff/oneDay)
var hourfield=Math.floor((timediff-dayfield*oneDay)/oneHour)
var minutefield=Math.floor((timediff-dayfield*oneDay-hourfield*oneHour)/oneMinute)
var secondfield=Math.floor((timediff-dayfield*oneDay-hourfield*oneHour-minutefield*oneMinute))
if (this.baseunit=="hours"){ //if base unit is hours, set "hourfield" to be topmost level
hourfield=dayfield*24+hourfield
dayfield="n/a"
}
else if (this.baseunit=="minutes"){ //if base unit is minutes, set "minutefield" to be topmost level
minutefield=dayfield*24*60+hourfield*60+minutefield
dayfield=hourfield="n/a"
}
else if (this.baseunit=="seconds"){ //if base unit is seconds, set "secondfield" to be topmost level
var secondfield=timediff
dayfield=hourfield=minutefield="n/a"
}
this.container.innerHTML=this.formatresults(dayfield, hourfield, minutefield, secondfield)
setTimeout(function(){thisobj.showresults()}, 1000) //update results every second
}

/////CUSTOM FORMAT OUTPUT FUNCTIONS BELOW//////////////////////////////

//Create your own custom format function to pass into cdtime.displaycountdown()
//Use arguments[0] to access "Days" left
//Use arguments[1] to access "Hours" left
//Use arguments[2] to access "Minutes" left
//Use arguments[3] to access "Seconds" left

//The values of these arguments may change depending on the "baseunit" parameter of cdtime.displaycountdown()
//For example, if "baseunit" is set to "hours", arguments[0] becomes meaningless and contains "n/a"
//For example, if "baseunit" is set to "minutes", arguments[0] and arguments[1] become meaningless etc


function formatresults2(){
if (this.timesup==false){ //if target date/time not yet met
var displaystring="<span class='lcdstyle'>"+arguments[0]+" <sup>dni</sup> "+arguments[1]+" <sup>hodin</sup> "+arguments[2]+" <sup>minut</sup> "+arguments[3]+" <sup>vterin</sup> do konce Turnaje</span>"
}
else{ //else if target date/time met
var displaystring="" //Don't display any text
//Instead, perform a custom alert
}
return displaystring
}

var currentyear=new Date().getFullYear()
//dynamically get this Christmas' year value. If Christmas already passed, then year=current year+1
var thischristmasyear=(new Date().getMonth()>=11 && new Date().getDate()>25)? currentyear+1 : currentyear

		
		/** Odeslání XMLHttp požadavku

		* @param Function state_change funkce zajišťující obsluhu při změně stavu požadavku, dostane parametr s XMLHttp objektem

		* @param string method GET|POST|...

		* @param string url URL požadavku

		* @param string [content] tělo zprávy

		* @param object [headers] předané hlavičky ve tvaru { 'hlavička': 'obsah' }

		* @return boolean true v případě úspěchu, false jinak

		* @copyright Jakub Vrána, http://php.vrana.cz

		*/

		function send_xmlhttprequest(state_change, method, url, content, headers) {

		    var xmlhttp = (window.XMLHttpRequest ? new XMLHttpRequest() : (window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : false));

		    if (!xmlhttp) {

		        return false;

		    }

		    xmlhttp.open(method, url);

		    xmlhttp.onreadystatechange = function () {

		        state_change(xmlhttp);

		    };

		    headers = headers || {};

		    headers['X-Requested-With'] = headers['X-Requested-With'] || 'XMLHttpRequest';

		    for (var key in headers) {

		        xmlhttp.setRequestHeader(key, headers[key]);

		    }

		    xmlhttp.send(content);

		    return true;

		}



		function post_xmlhttprequest(state_change, url, form, headers) {

		    var elements = form.elements;

		    var content = [];

		    for (var i=0; i < elements.length; i++) {

		        if (elements[i].attributes.name && elements[i].attributes.name.specified && !elements[i].disabled) {

		            if (/^(select)$/i.test(elements[i].tagName)) {

		                var options = elements[i].options;

		                for (var j=0; j < options.length; j++) {

		                    if (options[j].selected) {

		                        var value = (options[j].attributes.value && options[j].attributes.value.specified ? options[j].value : options[j].text);

		                        content.push(encodeURIComponent(elements[i].name) + '=' + encodeURIComponent(value));

		                    }

		                }

		            } else if (!/^(submit|reset|button|file|image)$/i.test(elements[i].type) && (!/^(radio|checkbox)$/i.test(elements[i].type) || elements[i].checked)) {

		                content.push(encodeURIComponent(elements[i].name) + '=' + encodeURIComponent(elements[i].value));

		            }

		        }

		    }

		    if (!headers) {

		        headers = {};

		    }

		    headers['Content-Type'] = 'application/x-www-form-urlencoded';

		    return send_xmlhttprequest(state_change, 'POST', url, content.join('&'), headers);

		}



		function hlasovat(hlas,hlasu,stav,hlasoval) {

		    if(hlasoval==0){

		    document.getElementById('hlasu').innerHTML = hlasu + 1;

		    if(hlas==1) document.getElementById('stav').innerHTML = stav + 1;

		    if(hlas==-1) document.getElementById('stav').innerHTML = stav - 1;

		    $.showMessage("Děkujeme za Váš hlas!", op);

		    }

		    else{

		    $.showMessage("Už jste hlasoval!", op);

		    }

		    // odeslání požadavku na aktualizaci dat

		    if (!send_xmlhttprequest("", 'GET', '?action=hlasuj&hodnota='+hlas)) {

		        return false;

		    }

		    return true;

		}



		function hlasovat2(hlas,stav,hlasoval,id) {

		    if(hlasoval==0){

		    if(hlas==1) document.getElementById('stav'+id).innerHTML = stav + 1;

		    if(hlas==-1) document.getElementById('stav'+id).innerHTML = stav - 1;

		    $.showMessage("Děkujeme za Váš hlas!", op);

		    }

		    else{

		    $.showMessage("Už jste hlasoval!", op);

		    }

		    // odeslání požadavku na aktualizaci dat

		    if (!send_xmlhttprequest("", 'GET', '?action=hlasuj&hodnota='+hlas+'&id='+id)) {

		        return false;

		    }

		    return true;

		}



		function odeslat(form,avatar,pohlavi,sekce) {

		    document.getElementById('stav_odesilani').innerHTML = 'Odesílá se.<br /><img src=\'/images/ajax-'+sekce+'.gif\' alt=\'loader\' />';

		    return post_xmlhttprequest(function (xmlhttp) {

		        if (xmlhttp.readyState == 4) {

		            if(pohlavi == '' && form.autor.value == ''){ odeslano = 0; }

		            else if(pohlavi == '' && form.spcontrol.value != '2'){ odeslano = 0; }

		            else{ odeslano = 1; }

		            

		            if(avatar != '') obr_ava = avatar;

		            else obr_ava = '/images/avatar-none.gif';

		            

		            if(pohlavi == '') pohlavi = 'normal';

		            

		            if(odeslano == 1 && form.text.value != ''){

		              document.getElementById('stav_odesilani').innerHTML = '<h3 class=\'prispevek\'>Váš Komentář byl vložen.</h3>';

		              document.getElementById('odeslany').innerHTML = '<h3 class=\'prispevek\'><a href=\'/video/profil/'+form.autor.value+'\'><span class=\''+pohlavi+'\'>'+form.autor.value+'</span></a><span class=\'normal\'> - Nyní</span></h3><div class=\'komentar\'><img class=\'avatar\' src=\''+obr_ava+'\' alt=\'avatar-none.gif\' title=\'avatar-none\' border=\'0\' height=\'63\' width=\'53\' /><p class=\'text-komentare\'>'+form.text.value+'</p><p class=\'break\'></p></div>';

		              form.text.value = form.text.defaultValue;

		            }

		            else if(form.text.value == ''){

		              document.getElementById('stav_odesilani').innerHTML = '<b>Chyba: </b>Nezadal jste žádný text !';

		            }

		            else if(form.spcontrol.value != '2'){

		              document.getElementById('stav_odesilani').innerHTML = '<b>Chyba: </b>Špatná odpověď na spamovací otázku !';

		            }

		            else {

		              document.getElementById('stav_odesilani').innerHTML = '<b>Chyba: </b>Pro vytvoření komentáře je třeba zadat autora !';

		            }

		        }

		    }, '/ztest.php', form);

		}


