var responder = "responder";

function ge(id)
{
	return document.getElementById( id );
}

function ajaxon()
{
	el=document.getElementById( "ajaxloader" ).style;
  el.display='block';
}

function ajaxoff()
{
	el=document.getElementById( "ajaxloader" ).style;
  el.display='none';
}


function datetimeHandle()
{
  var inp = document.getElementsByTagName("input");
  var nsp;
  for(i=0;i<inp.length;i++)
  {
    nsp = inp[i].getAttributeNode('class');
    if(nsp && nsp.value == 'datetime-date' )
    {
      var idd = inp[i].getAttribute('id');
      if(idd)
      {
        var dat = document.getElementById( idd + '_time' ).value;
        inp[i].readOnly=false;
        inp[i].value = inp[i].value + ' ' + dat;
      }
    }
  }
}

function NoPermission(e)
{
	alert("You don't have permission to "+e+" this item!");
}


function privileges_checkall(elid)
{
  var elements = document.getElementById(elid);
	var inputs = elements.getElementsByTagName("input");
	var state = !inputs[0].checked;

  for(i = 0; i < inputs.length; i++)
  {
    inputs[i].checked = state;
  }
}

function addSearch(values, descriptions)
{
  var vvls = values.split(";");
  var ddes = descriptions.split(";");
  var opt = "";
  for(i=0; i<vvls.length;i++)
  {
    opt += '<option value="'+vvls[i]+'">'+ddes[i]+'</option>';
  }
  var li = document.createElement('li');
  li.innerHTML = '<select name="field[]">'+opt+'</select> = <input type="text" value="" name="search[]" />';
  var srch = document.getElementById('SearchUl');
  srch.appendChild(li);
  return true;
}

function datetimeCopyTime(id)
{
  var cas = document.getElementById(id).value;
  if(cas.length > 10)
  {
	  var time_inp = document.getElementById(id + "_time");
	  time_inp.value = cas.substring(11,19);
	  document.getElementById(id).value = cas.substring(0,10);
 	}
}

function loadCalendar(id)
{
  datetimeCopyTime(id);
  document.getElementById(id).readOnly="readonly";
}

function adm_ajax_msg(to, from)
{
		var subject = document.title;
		var body = prompt("Quick meesage for "+ to +": ", "");
 		if(body)
		return adm_ajax('ajax/handle_msg.php?to='+encodeURI(to)+'&body='+encodeURI(body)+'&from='+encodeURI(from)+'&s='+encodeURI(subject), adm_ajax_handle_msg);
}

function adm_ajax_handle_msg(xmlhttp)
{
  if (xmlhttp.readyState == 4)
  {
    var resp = xmlhttp.responseXML.getElementsByTagName('result')[0];
		var result = resp.firstChild.nodeValue;
    if(result == '1')
    {
			alert('Message successfuly sent!');
		}
		else
		{
			prompt("Sorry, can't send this message.", result);
		}
  }
}

function adm_pajax( url, handle, parameter)
{

    if (!send_xmlhttprequest("POST", url, handle, parameter))
    {
        return false;
    }
    return true;
}

function adm_ajax( url, handle )
{
    if (!send_xmlhttprequest("GET", url, handle, 0))
    {
        return false;
    }
    return true;
}

function adm_ajax_update(table, column, id, content, response)
{
	var res = adm_ajax('ajax/handle_update.php?t='+encodeURI(table)+'&c='+encodeURI(column)+'&id='+encodeURI(id)+'&content='+encodeURI(content)+'&response='+encodeURI(response) , adm_ajax_handle_update);
	return !res;
}

function adm_ajax_prompt_update(table, column, id, response, msg)
{
  var content = prompt(msg, "");
  
	if(content)
	{
		return adm_ajax_update(table, column, id, content, response);
	}
	return false;
}

function adm_ajax_handle_update(xmlhttp)
{
  if (xmlhttp.readyState == 4)
  {
    var resp = xmlhttp.responseXML.getElementsByTagName('result')[0];
		var result = resp.firstChild.nodeValue;
    var id = resp.getAttribute('id');

    if(result != 'fail')
    {
    	var tr = document.getElementById(id);
    	tr.innerHTML = result;
		}
		else
		{
			NoPermission("edit");
		}
  }
}

function adm_ajax_call(tab, action, param, msg)
{
	if(msg)
  	var answ = prompt(msg, "");
  	
	var res = adm_ajax('ajax/handle_call.php?t='+encodeURI(tab)+'&action='+encodeURI(action)+'&param='+encodeURI(param)+'&usrparam='+encodeURI(answ), adm_ajax_handle_call);
	return !res;
	//adm_ajax_handle_call
}

function adm_ajax_delete(tab, id, col, msg)
{
	if(doSubmit(msg))
	{
		var res = adm_ajax('ajax/handle_delete.php?t='+encodeURI(tab)+'&c='+encodeURI(col)+'&id='+encodeURI(id), adm_ajax_handle_delete);
		return !res;
	}
	return false;
}

function ajax_delete(tab, id, col, msg)
{
	if(doSubmit(msg))
	{
		var res = adm_ajax('/ajax/handle_delete_web.php?t='+encodeURI(tab)+'&c='+encodeURI(col)+'&id='+encodeURI(id), adm_ajax_handle_delete);
		return !res;
	}
	return false;
}

function uni(xmlhttp)
{
	if (xmlhttp.readyState == 4)
  {
		alert (xmlhttp.responseText);
  }
}


function MyDisplay()
{
  ShowHide( responder );
}

function ShowHide()
{
  for( var i = 0; i < arguments.length; i++ )
	{
		 el=document.getElementById( arguments[i] ).style;
		 el.display=(el.display == 'block')? 'none' : 'block';
	}
	return true;
}

function ajax_show(str)
{
	el = document.getElementById( responder );
	el.innerHTML = str;
	MyDisplay();
	location='#responder';
  setTimeout( "MyDisplay()", 3500 );
}

function adm_ajax_handle_call(xmlhttp)
{
	if (xmlhttp.readyState == 4)
  {
    var resp = xmlhttp.responseXML.getElementsByTagName('result')[0];
		var result = resp.firstChild.nodeValue;
    var id = resp.getAttribute('id');

    if(result == 'fail')
    {
      result = "Error - you don't have permission.";
		}
		
		if(id == responder)
			ajax_show(result);
		else
		{
			var el = document.getElementById(id);
			if(el)
    		el.innerHTML += result;
			else
			  alert(result);
		}
		  
	}
}

function adm_ajax_handle_delete(xmlhttp)
{
  if (xmlhttp.readyState == 4)
  {
    var resp = xmlhttp.responseXML.getElementsByTagName('result')[0];
		var result = resp.firstChild.nodeValue;
    var id = resp.getAttribute('id');

    if(result == '1')
    {
    	var tr = document.getElementById(id);
    	tr.parentNode.removeChild(tr);
    	return false;
		}
		else
		{
			NoPermission("delete");
			return false;
		}
  }
}

function adm_ajax_bool(tab, col, id)
{
	return adm_ajax('ajax/handle_bool.php?t='+encodeURI(tab)+'&c='+encodeURI(col)+'&id='+encodeURI(id), adm_ajax_handle_bool);
}

function adm_ajax_handle_bool(xmlhttp)
{
  if (xmlhttp.readyState == 4)
  {
    var resp = xmlhttp.responseXML.getElementsByTagName('result')[0];
		var result = resp.firstChild.nodeValue;
    var id = resp.getAttribute('id');

    document.getElementById(id).removeAttribute("src");
    document.getElementById(id).removeAttribute("alt");
    
    if(result == '1')
    {
    	document.getElementById(id).setAttribute("src", "img/yes.png");
    	document.getElementById(id).setAttribute("alt", "Yes");
		}
		else if(result == '0')
		{
			document.getElementById(id).setAttribute("src", "img/no.png");
			document.getElementById(id).setAttribute("alt", "No");
		}
		else
		{
			NoPermission("edit");
		}
  }
}

function send_xmlhttprequest( method, url, obsluha, param )
{
    var xmlhttp = (window.XMLHttpRequest ? new XMLHttpRequest : (window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : false));
    if (!xmlhttp)
    {
      return false;
    }
    xmlhttp.open(method, url, true);
    xmlhttp.onreadystatechange = function() { obsluha(xmlhttp); };
    
    if( param != 0 )
    {
      xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
      xmlhttp.setRequestHeader("Content-length", param.length);
      xmlhttp.setRequestHeader("Connection", "close");
      xmlhttp.send(param);
    }
    else
    	xmlhttp.send("");
    return true;
}

function doSubmit(q)
{
var ok=confirm(q);
if (ok)
	return true ;
else
	return false ;
}

function createQueryId(id)
{
		var node = document.getElementById(id);
		if ((name = node.name) && (value = node.value))
		{
        return name + "=" + encodeURIComponent(value);
		}
		return "";
}

function createQueryForm(form)
{
    var elements = form.elements;
    var pairs = new Array();

    for (var i = 0; i < elements.length; i++)
		{

        if ((name = elements[i].name) && (value = elements[i].value))
            pairs.push(name + "=" + encodeURI(value));
    }

    return pairs.join("&");
}

function ajax_post( url, handle, parameter)
{
	ajaxon();
  return send_xmlhttprequest("POST", url, handle, parameter);
}

function ajax_get( url, handle )
{
	ajaxon();
  return send_xmlhttprequest("GET", url, handle, 0);
}


function check( pole, form_id )
{
  var elm = document.getElementById(form_id).elements;
	var state = false;
	for(i = 0; i < elm.length; i++)
  {
    if(elm[i].name == pole)
    {
      if( !state )
      {
      	setting = ! elm[i].checked;
				state = true;
			}
      elm[i].checked = setting;
    }
  }
  return false;
}