function onLoadParseCommand()
{
    
    var inputList = document.getElementsByTagName('input'); 
  	var hashList = new Object();
  	
    for(var i=0;i<inputList.length;i++ )
    
    {
    
      var element = inputList[i];
    
      if(element.id == undefined)
      {
       alert("One or more imput doesn`t have id"+element.className);
       return;
      }
      var idstr = element.id.toString();
      
      var pattern = /(Cmd)(.+)/;
      
      var result =  idstr.match(pattern);
      
     if(result != null)
     {
        if(result[1] == "Cmd")
        {
          var resend = result[2].split('_');          
          var argument = "";
          var name = "";
          
          name =  result[2];           
          if(resend.length == 2)
          {
            argument = resend[1];
            name = resend[0];
          }
          
          if(hashList[name] == undefined)   
      		hashList[name] = element;
      	  else
      	  {
      	  	alert("Error: duplicate command :"+name);
      	  	return;
      	  }
          element.cmdargument = argument;
          element.cmdname = "Cmd"+name;                                    
          element.onclick = function()
          {           
             var valid = this.getAttribute('valid')
             var ret = true
             if (valid) ret = eval(valid)
             if (ret) sendCommand(this.cmdname, this.cmdargument);
             return false
          }
                  
        } 
     }
      
     
      
    }
    
    
    
    
}

function sendCommand(commandName , commandArgument)
{
    var mainForm = document.getElementById("mainForm");
    
    var CommandArgumentElement = document.getElementById("CommandArgument");  
    var CommandNameElement = document.getElementById("CommandName");  

    if(commandArgument != undefined)
    	CommandArgumentElement.value = commandArgument;
    	
    CommandNameElement.value = commandName;      
    mainForm.submit();
	return;
}

function checkemail(email)
{
 var filter=/^.+@.+\..{2,3}$/;
 if (filter.test(email)) return true
 return false
}

function sendValidateForm()
{
	
	var inputList = document.getElementsByTagName('input');	
	var areaList = document.getElementsByTagName('textarea');
	var selectList = document.getElementsByTagName('select');
	var sdata = new Array();

	var elementArray = new Array();	
	var button = null;
  	for(var i=0;i<inputList.length;i++)
  	{	  	
        if(inputList[i].name.charAt(1) == "_")
        {
	  		if(inputList[i].type != "button") elementArray.push(inputList[i]);
	  		else button = inputList[i];
	  	}
	}
	if (button == null)
	{
	 alert('Error')
	 return; 
	}		
	for(var i=0;i<areaList.length;i++)
	{
	  	if(areaList[i].name.charAt(1) == "_" )
		{
	  		elementArray.push(areaList[i]);
	  	}
	}
    for(var i=0;i<selectList.length;i++)
    {
	  	if(selectList[i].name.charAt(1) == "_" )
	  	{
			elementArray.push(selectList[i]);
	  	}
	}

	   		
	for(var i=0;i<elementArray.length;i++)
	{
		var name = elementArray[i].name;
		var value = elementArray[i].value.replace(/^\s*|\s*$/g, "");				
		var pole = name.split("_");
		if (elementArray[i].type == 'text')
		{
			var required = (Number(pole[2])==1) ? true : false;
			if (required)
			{
				if(value == '')
				{
					var desc = Utf8.decode(pole[1]);
					alert(command_js_txt1+desc);
					elementArray[i].focus();
					return
				}
			}
		}

		if (elementArray[i].type == 'text' && pole[3]==4)
		{
			var desc = Utf8.decode(pole[1]);		
			if (!checkemail(value))
			{
				alert(command_js_txt2+desc);
			   	elementArray[i].focus();
				return
			}			
		}
	}

	if(confirm(command_js_txt3))
	{			
        for(var i=0;i<elementArray.length;i++)
		{
			sdata.push("p"+i+":"+elementArray[i].name);
			elementArray[i].name = "p"+i;
		}
		var psdata = document.getElementById("psdata");
 		if (!psdata)
 		{
			psdata = document.createElement("input");
        	psdata.setAttribute("name","psdata");
        	psdata.setAttribute("id","psdata");
        	psdata.setAttribute("type","hidden");
        	document.getElementById("mainForm").appendChild(psdata);
		}
		var a = ""
		for(var i=0;i<sdata.length;i++) a += "(!^#@]"+sdata[i]
		psdata.value = a
		sendCommand("CmdSendForm", button.name);
	}			
}

function resetForm()
{
	var inputList = document.getElementsByTagName('input');	
	var areaList = document.getElementsByTagName('textarea');

  	for(var i=0;i<inputList.length;i++)
  	{
	  	if(inputList[i].name.charAt(1) == "_" && inputList[i].type == "text") inputList[i].value = ""	  
	}
	for(var i=0;i<areaList.length;i++)
	{
	  	if(areaList[i].name.charAt(1) == "_" ) areaList[i].value = ""	 
	}
}

function dweFormRadioClick(elRadio)
{
	var pole = elRadio.name.split("_");
	var group = pole[2];
	if ((!group) || (group == '')) return;
			
	var inputList = document.getElementsByTagName('input');	
  	for(var i=0;i<inputList.length;i++)
  	{
	  	var name = inputList[i].name;
	  	if(name.charAt(1) == "_" && inputList[i].type == "radio")
	  	{
	  		 pole = name.split("_");
	  		 if (pole[2] == group) inputList[i].checked = false;
	  	}	 	  
	}
	elRadio.checked = true;
}

/**
 * Tipy ke slovům
 */
var displayed_context_result_box = null;
var displayed_context_result_tips = 0;
var displayed_context_result_tips_timeout = new Array();

function checkContextSearchResultTipExists() {
	
}

function createContextSearchResultTip(id,el,main_word,assoc_words,description) {
	
	var search_main_word = main_word.replace(/\s+/g,'AND');
	
	var html = '';
	html = '<span onmouseover="clearTimeoutForContextSearchResult('+id+');" onmousemove="clearTimeoutForContextSearchResult('+id+');" onclick="hideContextSearchResultTimeout('+id+');">';
	html += '<span class="top">"<a href="http://vyvoj.axima.cz/index.php?CenterContentExec=SearchResult&param1='+search_main_word+'" target="_blank" title="Vyhledat výraz \''+main_word+'\'?">'+main_word+'</a>"</span>'; 
	html += '<span class="content"><span>'+description+'</span></span>';
	/*html += '<span class="content">podobná slova: <span>'+assoc_words.join(', ')+'</span></span>';*/
	html += '<span class="bottom">&nbsp;</span>';
	html += '</span>';
	
	// nastavíme odsazeí zleva podle šířky elementu
	var width = el.offsetWidth + 0;
	// nastavíme odsazeí odshora podle výšky elementu
	var height = el.offsetHeight - 1;
	
	var displayed_context_result_box = document.createElement('span');
	displayed_context_result_box.id = id;
	displayed_context_result_box.style.title = main_word;
	displayed_context_result_box.className = 'context_search_tip';
	displayed_context_result_box.style.margin = height+'px 0 0 -'+width+'px';
	displayed_context_result_box.innerHTML = html;
	/*
	displayed_context_result_box.onmousemove = function(e) { clearTimeoutForContextSearchResult(this.id); };
	displayed_context_result_box.onmouseover = function(e) { clearTimeoutForContextSearchResult(this.id); };
	displayed_context_result_box.onmouseout = function(e) { hideContextSearchResult(this.id); };
	*/
	el.appendChild(displayed_context_result_box);
}

function showContextSearchResult(el,main_word) {
	//alert(el.innerHTML);
	var res = el.id.match(/([0-9]+)/);
	var id = res[1];
	for(var i in displayed_context_result_tips_timeout) {
		if(i == id) {
			if(displayed_context_result_tips_timeout[i]) return;
		}
	}
	var uls = document.getElementsByTagName('ul');
	var ps = document.getElementsByTagName('p');
	
	var assoc_words = new Array();
	var description = '';
	
	for(var i in uls) {
		if(uls[i].title == main_word) {
			for(var c in uls[i].childNodes) {
				if(uls[i].childNodes[c].tagName == "LI") {
					assoc_words.push(uls[i].childNodes[c].innerHTML);
				}
			}
		}
	}
	
	for(var i in ps) {
		if(ps[i].title == main_word) {
			description = ps[i].innerHTML; 
		}
	}
	
	
	
	if(assoc_words.length > 0) {
		var box_exists = document.getElementById(id);
		if(box_exists) {
			box_exists.style.display = 'inline';
			clearTimeoutForContextSearchResult(id);
		}
		else {
			createContextSearchResultTip(id,el,main_word,assoc_words,description);
		}
	}
}

function clearTimeoutForContextSearchResult(id) {
	var timer = displayed_context_result_tips_timeout[id];
	if(timer) {
		clearTimeout(timer);
	}
}

function hideContextSearchResultTimeout(id) {
	try {
		var el = document.getElementById(id);
		el.style.display = 'none';
		displayed_context_result_tips_timeout[id] = null;
	}
	catch(e) {  }
}

function hideContextSearchResult(id) {
	displayed_context_result_tips_timeout[id] = setTimeout('hideContextSearchResultTimeout('+id+')',300);
}
