// JavaScript Document

/**
 * Zakladni obsluzne fce pro pouziti AJAXU ve skriptech
 * 
 * kod postaven na knize AJAX a PHP, zoner press
 *   
 */
 
 var xmlHttp = createXmlHttpRequestObject();
 /**
  * createXmlHttpRequestObject - pokus o vytvoreni XmlHttRequest objektu
  */	 
 
 function createXmlHttpRequestObject(){
    var xmlHttp;
    
    try{
			xmlHttp = new XMLHttpRequest();		
		}catch (e) {
		
		  xmlHTTPVersions = new Array('MSXML2.XMLHTTP.6.0',
			 								            'MSXML2.XMLHTTP.5.0',
			 								            'MSXML2.XMLHTTP.4.0',
			 								            'MSXML2.XMLHTTP.3.0',
			 								            'MSXML2.XMLHTTP.2.0',
			 								            'MSXML2.XMLHTTP',
			 								            'Microsoft.XMLHTTP'
                                 );
		  
			for( var i=0; i<xmlHTTPVersions.length && !xmlHttp; i++){
			  try{
				  xmlHttp = new ActiveXObject(xmlHTTPVersions[i]);
				}catch (e) {}
			} 
		}
		
		if(!xmlHttp)
		   return false;
		else
		   return xmlHttp;   
 }
 
 function process( method, script, params, fce) {
   
   if(xmlHttp){
		 try{ 
		   if(params.length){
		     script = script +"?"+params.join("&");
		   }
		   xmlHttp.open(method, script, true);
		 	 //xmlHttp.onreadystatechange = window[fce]();
		 	 xmlHttp.onreadystatechange = new Function(fce+"()");
			 xmlHttp.send(null);
	 
	   }catch (e) {
  		 alert('Nelze se pripojit k ' + e.toString());
		 }
   }
 }
 
 /**
  * "Prototyp" funkce ktera se bude rsit konkretni ukoly
  */	   
  /*
 function prototyp_handleRequestStateChange(){
	  
	  if(xmlHttp.readyState == 1)
		{}
		else if (xmlHttp.readyState == 2)
		{}
		else if (xmlHttp.readyState == 3)
		{}
		else if (xmlHttp.readyState == 4)
		{		  
		  if(xmlHttp.status == 200){
			  try {
				  
					//obsah				  
				
				}
				catch (e) 
				{
				   alert('Nedorazila data:' + e.toString());
				}
			}else{
		     alert('Nedorazila data:' + xmlHttp.statusText);
		  }
	  }
 }
 */    
