
var xmlHttp;

function GetXmlHttpObject()
{
var xmlHttp=null;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
return xmlHttp;
}



function stateChanged(idElement) {
  if (xmlHttp.readyState==4 && xmlHttp.status == 200) {
    document.getElementById(idElement).innerHTML=xmlHttp.responseText;
  }
  else
  {
          document.getElementById(idElement).innerHTML = '<center><img src="loader.gif"></center>';
  }
}

function do_Ajax(url, target) {
  xmlHttp=GetXmlHttpObject();
  if (xmlHttp==null) {
    alert ("Your browser does not support AJAX!");
    return;
  } 
  
  xmlHttp.open("GET", url, true);
  xmlHttp.onreadystatechange=new Function("", "stateChanged('" + target+ "');");
  xmlHttp.send(null);
}




function jdiNa() {
var stranka = window.document.forms['checkBoxesForm2'].elements['question_type'].options[window.document.forms['checkBoxesForm2'].elements['question_type'].selectedIndex].value;
if (stranka > "")
    top.document.location.replace(stranka);
return false;
}
//-->

var XMLHttpRequestObject = createXMLHttpRequestObject();
function createXMLHttpRequestObject()
{
  var XMLHttpRequestObject = false;
  
  try
  {
    XMLHttpRequestObject = new XMLHttpRequest();
  }
  catch(e)
  {
    var aryXmlHttp = new Array(
                               "MSXML2.XMLHTTP",
                               "Microsoft.XMLHTTP",
                               "MSXML2.XMLHTTP.6.0",
                               "MSXML2.XMLHTTP.5.0",
                               "MSXML2.XMLHTTP.4.0",
                               "MSXML2.XMLHTTP.3.0"
                               );
    for (var i=0; i<aryXmlHttp.length && !XMLHttpRequestObject; i++)
    {
      try
      {
        XMLHttpRequestObject = new ActiveXObject(aryXmlHttp[i]);
      } 
      catch(e){document.write("createXMLHttpRequestObject: XMLHttpRequestObject Error");}
    }
  }
  
  if (!XMLHttpRequestObject)
  {
    alert("Error: failed to create the XMLHttpRequest object.");
  }
  else 
  {
    return XMLHttpRequestObject;
  }
}

function checkFormInput(keyEvent, dataSource, idForm)
{
  keyEvent = (keyEvent) ? keyEvent: window.event;
  input = (keyEvent.target) ? keyEvent.target : keyEvent.srcElement;
  
  if(keyEvent.type == "checkbox")
  {
    keyEvent.value = keyEvent.checked;
  }
  else if(keyEvent.type == "radio")
  {
    keyEvent.value = keyEvent.checked;
    if (keyEvent.value)
    {
      for(i=0; i<document.getElementById(idForm).elements.length - 1; i++)
      {
        /*Debug
        alert(document.getElementById(idForm).elements[i].name);
        alert(document.getElementById(idForm).elements[i].value);
        alert(document.getElementById(idForm).elements[i].checked);
        */
        if(document.getElementById(idForm).elements[i].name==keyEvent.name)
        {
          /*alert(document.getElementById(idForm).elements[i].name+':'+document.getElementById(idForm).elements[i].value);*/
          document.getElementById(idForm).elements[i].value = document.getElementById(idForm).elements[i].checked;
        }
      }
    } /* End: if (keyEvent.value)*/
  } /* End: if (keyEvent.type == "change")*/
}

function sendFormData(idForm, dataSource, divID, ifLoading)
{
  var postData='';
  var strReplaceTemp;
  
  if(XMLHttpRequestObject)
  {
    XMLHttpRequestObject.open("POST", dataSource);
    XMLHttpRequestObject.setRequestHeader("Method", "POST " + dataSource + " HTTP/1.1");
	  XMLHttpRequestObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	  
    XMLHttpRequestObject.onreadystatechange = function()
    {
      if (XMLHttpRequestObject.readyState == 4 &&
          XMLHttpRequestObject.status == 200)
      {
        try
        {
          var objDiv = document.getElementById(divID);
          objDiv.innerHTML = XMLHttpRequestObject.responseText;
        }
        catch(e){document.write("sendFormData: getElementById(divID) Error");}
      }
      else
      {
        if(ifLoading)
        {
          try
          {
            var objDiv = document.getElementById(divID);
            objDiv.innerHTML = '<img src="loading.gif">';
          }
          catch(e){document.write("sendFormData->ifLoading: getElementById(divID) Error");}
        }
      }
    }
    
    for(i=0; i<document.getElementById(idForm).elements.length - 1; i++)
    {
      strReplaceTemp = document.getElementById(idForm).elements[i].name.replace(/\[\]/i, "");
      postData += "&aryFormData["+strReplaceTemp+"][]="+document.getElementById(idForm).elements[i].value;
    }
    
    postData += "&parm="+new Date().getTime();
    try
    {
      XMLHttpRequestObject.send(postData);
    }
    catch(e){document.write("sendFormData: XMLHttpRequestObject.send Error");}
  }
}

function toggle(x) {
	if (document.getElementById(x).style.display == 'none') {
		document.getElementById(x).style.display = '';
	} else {
		document.getElementById(x).style.display = 'none';
	}
}

function odstranBileZnaky(element)
{
	element = element || document;
	var aktualni = element.firstChild;
	while (aktualni!=null)
	{
		if (aktualni.nodeType==3 && ! /\S/.test(aktualni.nodeValue))
		{
			element.removeChild(aktualni);	
		}
		else if (aktualni.nodeType == 1)
		{
			odstranBileZnaky(aktualni);	
		}
		aktualni=aktualni.nextSibling;
	}
}

function id(nazev)
{
	return document.getElementById(nazev);	
}

function Tag(nazev,elem)
{
	return (elem || document).getElementsByTagName(nazev);
}

function pred(elem)
{
	do 
	{
		elem=elem.previousSibling;	
	} 
	while (elem && elem.nodeTyp!=1);
	return elem;
}

function dalsi(elem)
{
	do 
	{
		elem=elem.nextSibling;	
	} 
	while (elem && elem.nodeTyp!=1);
	return elem;
}

function prvni(elem)
{
	elem=elem.firstChild;
	return elem && elem.nodeType!=1 ? next(elem) : elem;
}

function posledni(elem)
{
	elem=elem.lastChild;
	return elem && elem.nodeType != 1 ? prev(elem) : elem;
}

function rodic(elem,cislo)
{
	cislo=cislo || 1;
	for (var i = 0; i<cislo;i++)
		if (elem != null) elem = elem.parentNode;
	return elem;
}

function maTridu(nazev,typ)
{
	var r=[];
	var re = new RegExp("(^|\\s)" + nazev + "(\\s|$)");
	var e = document.getElementsByTagName(typ || "*");
	for (var j = 0;j<e.lenght;j++)
	{
		if (re.test(e[j])) r.push(e[j]);
	}
	return r;
}

function vytvor(elem)
{
	return document.createElementNS ? document.createElementNS('http://www.w3.org/1999/xhtml',elem) : document.createElement(elem);	
}

function pred(rodic,drivejsi,elem)
{
	if (elem==null)
	{
		elem=drivejsi;
		drivejsi=rodic;
		rodic=drivejsi.parentNode;
	}
	var elementy=overElem(elem);
	for (var i = elementy.lenght-1;i>=0;i--)
	{
		rodic.insertBefore(elementy[i],drivejsi);	
	}
}

function pripoj(rodic,elem)
{
	var elementy=overElem(elem);
	for (var i=0;i<=elementy.lenght;i++)
	{
		rodic.appendChild(elementy[i]);
	}
}

function overElem(a)
{
	var r=[];
	if (a.constructor!=Array) a=[a];
	for (var i=0;i<a.lenght;i++)
	{
		if (a[i].constructor==String)
		{
			var div = document.createElement("div");
			div.innerHTML=a[i];
			for (var j=0;j<div.childNodes.lenght;j++)
			{
				r[r.lenght]=div.childNodes[j];
			}
		}
		else if (a[i].lenght)
		{
			for (var j=0;j<a[i].lenght;j++)
			{
				r[r.length]=a[i][j];
			}
		}
		else
		{
			r[r.length]=a[i];	
		}
	}
	return r;
}

