/******************************************************************************/
/**********                   AJAX  SCRIPT                      ***************/
/**********                    01-09-2008                       ***************/
/**********              website: www.semodata.cz               ***************/
/******************************************************************************/

function gid(id)
{
	return document.getElementById(id);
}


function vytvorXHR(){   
    var xhr;   
    try{   
      xhr = new XMLHttpRequest();   
    }catch(e){//pro případ starší verze prohlížeče   
      var MSXmlVerze = new Array('MSXML2.XMLHttp.6.0','MSXML2.XMLHttp.5.0','MSXML2.XMLHttp.4.0','MSXML2.XMLHttp.3.0','MSXML2.XMLHttp.2.0','Microsoft.XMLHttp');   
      for(var i = 0; i <= MSXmlVerze.length; i ++){   
        try{   
          xhr = new ActiveXObject(MSXmlVerze[i]);   
         //alert(MSXmlVerze[i]);   
          break;   
        }catch(e){   
          //vzniklou chybu ignoruji a pokračuji nastavením další verze   
        }   
      }   
    }   
    if(!xhr)   
      alert("Došlo k chybě při vytváření objektu XMLHttpRequest!");   
    else  
      return xhr;   
}  

// fce sestavi retezec parametru z formularovych poli
function getParams(obj){
	var getstr = '';
	var ele = obj.elements;
	for ( i = 0; i < ele.length; i++ ) {
		if ( ele[i].type && ele[i].type.length > 0 ) {
			switch ( ele[i].type ) { 
				case "text" :
					getstr += ele[i].name + '=' + ele[i].value + '&';
					break;
				case "password" :
					getstr += ele[i].name + '=' + ele[i].value + '&';
					break;
				case "hidden" :
					getstr += ele[i].name + '=' + ele[i].value + '&';
					break;
				case "textarea" :
					getstr += ele[i].name + '=' + ele[i].value + '&';
					break;
				case "radio" :
					if ( ele[i].checked ) 
						getstr += ele[i].name + '=' + ele[i].value + '&';
					break;
				case "checkbox" :
					if ( ele[i].checked )
					{ 
						getstr += ele[i].name + '=' + ele[i].value + '&';
					}	
					break;
				case "select-one" :
					for ( var x = 0 ; x < ele[i].length; x++ ) {
						if ( ele[i].options[x].selected ) 
							getstr += ele[i].name + '=' + ele[i].options[x].value + '&';
					}
					break;
				case "select-multiple" :
					for ( var x =0 ; x < ele[i].length; x++ ) {
						if ( ele[i].options[x].selected ) 
							getstr += ele[i].name + '=' + ele[i].options[x].value + '&';
					}
					break;
			}
		}
	}
    return getstr;
}




 
function nactiPozadavek(url, targetId, idForm){
    var xhr;
   //var url = "./scripts/form-pojistky.php";
    xhr = vytvorXHR();   
    xhr.open("POST",url);
    xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xhr.onreadystatechange = function() {
        if(xhr.readyState == 4){ //funkci provedeme, pokud je požadavek ve stavu dokončeno  
            if(xhr.status == 200){ //pokračuji, jen když je vše OK   
                //akce, co má funkce provést
                gid(targetId).innerHTML = xhr.responseText;
                
            }else{   
                alert(xhr.status);   
            }   
        }          
    }
    var params = gid(idForm) ? getParams(gid(idForm)) : 'null';
    xhr.send(params);
}

function nactiPozadavek2(url, targetId, loader, idForm){
    var xhr;
   //var url = "./scripts/form-pojistky.php";
    xhr = vytvorXHR();   
    xhr.open("POST",url);
    xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xhr.onreadystatechange = function() {
        if(xhr.readyState == 4){ //funkci provedeme, pokud je požadavek ve stavu dokončeno  
            if(xhr.status == 200){ //pokračuji, jen když je vše OK   
                //akce, co má funkce provést
                gid(targetId).innerHTML = xhr.responseText;
                
            }else{   
                alert(xhr.status);   
            }   
        }
        LoadOff(loader);
    }
    var params = gid(idForm) ? getParams(gid(idForm)) : 'null';
    xhr.send(params);
    LoadOn(loader);
}


function LoadOn(loader)
{
	gid(loader).style.display= "block";
}

function LoadOff(loader)
{
	gid(loader).style.display= "none";
}

