function getElementsByStyleClass (classNamex) {
  var className1 = classNamex+' ';
  var className2 = ' '+classNamex;
  var all = document.all ? document.all :
    document.getElementsByTagName('*');
  var elements = new Array();
  for (var e = 0; e < all.length; e++) {
    if (all[e].className == classNamex) {
      elements[elements.length] = all[e];
    } else if (all[e].className != undefined) {
      if (all[e].className.indexOf(className1) >= 0) {
        elements[elements.length] = all[e];
      } else if (all[e].className.indexOf(className2) >= 0) {
        elements[elements.length] = all[e];
      }
    }
  }
  return elements;
}
function showOnly(className) {

  zobraz = 'none';
  t = getElementsByStyleClass('spojeni');
  l = t.length;
  for (i = 0; i < l; i++) {
    t[i].style.display = zobraz;
  }
  t = getElementsByStyleClass('odjezdy');
  l = t.length;
  for (i = 0; i < l; i++) {
    t[i].style.display = zobraz; 
  }
  t = getElementsByStyleClass('zjr');
  l = t.length;
  for (i = 0; i < l; i++) {
    t[i].style.display = zobraz; 
  }

  t = getElementsByStyleClass(className);
  l = t.length;
  for (i = 0; i < l; i++) {
    zobraz = 'inline';
    if (t[i].tagName == 'P' || t[i].tagName == 'DIV')  zobraz = 'block'; 
    t[i].style.display = zobraz;
  }


  t = getElementsByStyleClass('zalozka');
  l = t.length;
  for (i = 0; i < l; i++) {
    t[i].className = 'zalozka';
  }
  document.getElementById(className).className = 'zalozka aktivni';
  document.forms[0].druh_jr.value = className;
  generuj();
  return false;
}

var kam = 'spojeni';
if (location.hash == '#odjezdy') kam = 'odjezdy';   
if (location.hash == '#zjr') kam = 'zjr';   
showOnly(kam);

function getCheckedValue(radioObj) {
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}

function generuj() {
  var t = 'http://www.idos.cz/';
  if (document.forms[0].jizdni_rad.value > '') t = t + document.forms[0].jizdni_rad.value + '/';
  if (document.forms[0].druh_jr.value > '') t = t + document.forms[0].druh_jr.value + '/';
  var r = '';
  
  if (document.forms[0].odkud.value > '') r = r + '&f=' + urlencode(document.forms[0].odkud.value);
  if (document.forms[0].druh_jr.value == 'spojeni') {
    if (document.forms[0].pres.value > '') r = r + '&ch=' + urlencode(document.forms[0].pres.value);
  }
  if (document.forms[0].kam.value > '') r = r + '&t=' + urlencode(document.forms[0].kam.value);
  if (document.forms[0].druh_jr.value == 'zjr') {
    if (document.forms[0].linka.value > '') r = r + '&l=' + urlencode(document.forms[0].linka.value);    
  }
  if (document.forms[0].datum.value > '') r = r + '&date=' + urlencode(document.forms[0].datum.value);    
  if (document.forms[0].druh_jr.value == 'spojeni' || document.forms[0].druh_jr.value == 'odjezdy') {
    if (document.forms[0].cas.value > '') r = r + '&time=' + urlencode(document.forms[0].cas.value);
    if (getCheckedValue(document.forms[0].prijezd) == 'true') r = r + '&byarr=' + getCheckedValue(document.forms[0].prijezd);      
  }
  if (document.forms[0].druh_jr.value == 'spojeni') {
    if (document.forms[0].prima.checked) r = r + '&direct=' + document.forms[0].prima.checked;          
  }
  if (document.forms[0].druh_jr.value == 'odjezdy') {
    if (document.forms[0].neomez.checked) r = r + '&nolimit=' + document.forms[0].neomez.checked;          
  }
  if (document.forms[0].druh_jr.value == 'zjr') {
    if (document.forms[0].celytyden.checked) r = r + '&wholeweek=' + document.forms[0].celytyden.checked;          
  }
  if (document.forms[0].odeslat.checked) r = r + '&submit=' + document.forms[0].odeslat.checked;          
  
  if (r > '') t = t + '?' + r.substr(1);
  document.getElementById('odkaz').value = t;
}
function oznac() {
  document.getElementById('odkaz').selectionStart = 0;
  document.getElementById('odkaz').selectionEnd = document.getElementById('odkaz').textLength;
  document.getElementById('odkaz').focus();
}

function to_clip(copytext)
//Inspirace: http://www.krikkit.net/howto_javascript_copy_clipboard.html
{
if (window.clipboardData)
{
window.clipboardData.setData("Text", copytext);
}
else if (window.netscape)
{
try
{
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
}
catch (e)
{
//alert(e);
//alert("Váš prohlížeč zakázal ukládání do schránky. Pro povolení nastavte v 'about:config' 'signed.applets.codebase_principal_support' na 'true'");
alert("Stiskněte Ctrl+C");
return false;
}
var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);
if (!clip) return;
var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);
if (!trans) return;
trans.addDataFlavor('text/unicode');
var str = new Object();
var len = new Object();
var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
str.data=copytext;
trans.setTransferData("text/unicode",str,copytext.length*2);
var clipid=Components.interfaces.nsIClipboard;
if (!clip) return false;
clip.setData(trans,null,clipid.kGlobalClipboard);
}
return true;
} 

function urlencode(str) {

//do {
var oldstr = str;
str = escape(str);
str = str.replace(/\+/g, '%2B');
str = str.replace(/%20/g, '+');
str = str.replace(/\*/g, '%2A');
str = str.replace(/\//g, '%2F');
str = str.replace(/@/g, '%40');

/*
str = str.replace(/ě/g, '%C4%9B');
str = str.replace(/š/g, '%C5%A1');
str = str.replace(/č/g, '%C4%8D');
str = str.replace(/ř/g, '%C5%99');
str = str.replace(/ž/g, '%C5%BE');
str = str.replace(/ý/g, '%C3%BD');
str = str.replace(/á/g, '%C3%A1');
str = str.replace(/í/g, '%C3%AD');
str = str.replace(/é/g, '%C3%A9');
str = str.replace(/ď/g, '%C4%8F');
str = str.replace(/ť/g, '%C5%A5');
str = str.replace(/ň/g, '%C5%88');
str = str.replace(/ú/g, '%C3%BA');
str = str.replace(/ů/g, '%C5%AF');
*/
str = str.replace(/%FD/g, '%C3%BD'); //ý
str = str.replace(/%E1/g, '%C3%A1'); //á
str = str.replace(/%ED/g, '%C3%AD'); //í
str = str.replace(/%E9/g, '%C3%A9'); //é
str = str.replace(/%FA/g, '%C3%BA'); //ú
str = str.replace(/%DD/g, '%C3%BD'); //Ý
str = str.replace(/%C1/g, '%C3%A1'); //Á
str = str.replace(/%CD/g, '%C3%AD'); //Í
str = str.replace(/%C9/g, '%C3%A9'); //É
str = str.replace(/%DA/g, '%C3%BA'); //Ú

return str;
}


