function AjaxCHART(data_source, divID, modul)
{
    var aj = false; 
	  if (window.XMLHttpRequest) {aj = new XMLHttpRequest(); aj.overrideMimeType("text/xml"); } 
	  else if (window.ActiveXObject) { aj = new ActiveXObject("Microsoft.XMLHTTP");}     

    if(aj) 
    {
    		dataSource = data_source;
				var obj = document.getElementById(divID); 
				aj.open("GET", dataSource); 
				aj.onreadystatechange = function () 
	      { 
	          if (aj.readyState == 4 && aj.status == 200) {loadd('0'); obj.innerHTML = aj.responseText;}     	
	          else {loadd('1');}
				}
				aj.send(null); 
    } return;
}

function loadd(stat)
{
	s = document.getElementById('status');      	
	if (stat=='1') 
	{
			if(s) s.style.visibility = 'visible';
	}
	else {if(s) s.style.visibility = 'hidden';}
}      

function getPOST(modul)
{
	ret ='';
  for (var i=0;i<document.forms[0].elements.length;i++)
  {
    var e=document.forms[0].elements[i];
    //if (e.type== "text")
    //{
        if (ret=='') {ret += e.name+'='+e.value;} else {ret += '&'+ e.name+'='+e.value;}
    //}
  } 
  if (ret=='') {ret += 'modul'+'='+modul;} else {ret += '&'+ 'modul'+'='+modul;}
  if (ret=='') {ret += 't'+'=' + new Date().getTime();} else {ret += '&'+ 't'+'=' + new Date().getTime();}		  	
  //alert(ret);	
  return ret;		  
}		

function getGET(modul)
{
	ret ='';
  for (var i=0;i<document.forms[0].elements.length;i++)
  {
    var e=document.forms[0].elements[i];
    //if (e.type== "text")
    //{
        if (ret=='') {ret += '?'+ e.name+'='+e.value;} else {ret += '&'+ e.name+'='+e.value;}
    //}
  } 
  if (ret=='') {ret += '?modul'+'='+modul;} else {ret += '&'+ 'modul'+'='+modul;}
  if (ret=='') {ret += '?t'+'=' + new Date().getTime();} else {ret += '&'+ 't'+'=' + new Date().getTime();}	
  //uniqueID=".uniqid(rand(),true)	  	
  //alert(ret);	
  return ret;		  
}				

function AjaxMyCall(data_source, divID, extra_script, extra_paramerets_name, extra_paramerets_values)
{
	params = getFormParameters(extra_paramerets_name, extra_paramerets_values);
	var myAjax = new AjaxMy(data_source, divID, {method: 'post', parameters: params});		
}

function AjaxMy(data_source, divID, extra_script, extra_paramerets_name, extra_paramerets_values)
{
		var params = getFormParameters(extra_paramerets_name, extra_paramerets_values);	
    var aj = false;
	  if (window.ActiveXObject) { aj = new ActiveXObject("Microsoft.XMLHTTP");}     
	  else if (window.XMLHttpRequest) {aj = new XMLHttpRequest(); aj.overrideMimeType("text/xml"); } 
	  	    	
    if(aj) 
    {
      	dataSource = data_source;
				var obj = document.getElementById(divID);         
        aj.open("POST", dataSource); 
        aj.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); 
        aj.onreadystatechange = function() 
        { 
	          if (aj.readyState == 4 && aj.status == 200) 
	          {
	          		loadd('0'); 
	          		if (aj.responseText!='N/A')
	          		{
		          		obj.innerHTML = aj.responseText; 
		          		if (extra_script != '') {eval(extra_script);}
		          	}
	          }     	
	          else {loadd('1');}
        } 
        aj.send(params);
    } return;
}

function AjaxUpdater(data_source, divID, extra_paramerets_name, extra_paramerets_values)
{
	params = getFormParameters(extra_paramerets_name, extra_paramerets_values);
	var myAjax = new Ajax.Updater({success: divID}, data_source, {method: 'post', parameters: params});		
}

function AjaxPeriodicalUpdater(data_source, divID, extra_paramerets_name, extra_paramerets_values, ajax_frequency, ajax_decay)
{
	params = getFormParameters(extra_paramerets_name, extra_paramerets_values);
	var myAjax = new Ajax.PeriodicalUpdater({success: divID}, data_source, {method: 'post', parameters: params, frequency: ajax_frequency, decay: ajax_decay});
}

function getFormParameters(extra_paramerets_name, extra_paramerets_values)
{							
	params ='';
  for (var i=0;i<document.forms[0].elements.length;i++)
  {
		  var e=document.forms[0].elements[i];  	
  		if (e.type=='radio' || e.type=='text' || e.type=='textarea' || e.type=='password' || e.type=='select-one' || e.type=='hidden'  || e.type=='checkbox' )
  		{
					if (e.type=='radio' && !e.checked) {continue;}			    
					if (e.type=='checkbox' && !e.checked) {continue;}			    					
		      var buf_val = e.value;	      
					if(undefined===window.buf_val){window.buf_val = [];}
					buf_val = buf_val.replace(/&/g,"{am}");
					buf_val = buf_val.replace(/#/g,"{di}");					
					buf_val = buf_val.replace(/=/g,"{eq}");
					buf_val = buf_val.replace(/\+/g,"{pl}");    
					buf_val = buf_val.replace(/\?/g,"{qu}");    		
					buf_val = buf_val.replace(/\%/g,"{pc}");    							
		    	if (params == '') {params += e.name+'='+buf_val;} else {params += '&'+ e.name+'='+buf_val;}
		  }
  }   
  for (var i=0;i<extra_paramerets_values.length;i++)
  {
  	if (params == '') {params += extra_paramerets_name[i]+'='+extra_paramerets_values[i];} else {params += '&'+ extra_paramerets_name[i]+'='+extra_paramerets_values[i];}  	
  }  
  params += '&'+ 't'+'=' + new Date().getTime();
  return params;
}