var xmlhttp = false;
//skontrolujme, ci pouzivame IE
if (window.ActiveXObject){
try {
//ak je javascript verzia vacsia ako 5.
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
//ak nie je vacsia, tak pouzi active x object.
try {
//ak pouzivame IE bereme jeho objekt.
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
//inak to nebol IE.
xmlhttp = false;
}
}
}
//Ak pouzivam prehliadac, ktory nie je Internet Explorer (IE), vytvorim instanciu objektu.
if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
		//povodne len xmlhttp = new XMLHttpRequest();
		//teraz:
		try {
			xmlhttp = new XMLHttpRequest();
		} catch (e) {
			xmlhttp=false;
		}

	}


	if (!xmlhttp && window.createRequest) {
		try {
			xmlhttp = window.createRequest();
		} catch (e) {
			xmlhttp=false;
		}
	}

//funkcia, ktora naplni element tym, co vrati server ked mu poslem data_formulara
function napln_element (theelement,data_formulara){
//ak v elemente nic neni, spustim ajax a naplnim ho
if (document.getElementById(theelement).innerHTML.length == 0){
setStatus("Načítavam...",theelement);
serverPage = "j_install.php";//tato stranka spracuje data a posle vysledok
var obj = document.getElementById(theelement);
xmlhttp.open("POST", serverPage,true);//otvorenie asynchronneho spojenia so serverom
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=windows-1250");
xmlhttp.onreadystatechange = function() {
/*
readyState moze byt toto: 0: uninitialized, 1: loading,
2: loaded, 3: interactive, 4: complete
status moze byt toto:
200 OK, 304 Not Modified, 401 Unauthorized, 403 Forbidden, 404 Not Found, 500 Internal server error,
503 Service unavaiable
*/
try{
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
obj.innerHTML = xmlhttp.responseText;//ak je vsetko ok zobrazim, co server poslal
}else{
//ak sa stalo nieco ine nie readyState:4 a status:200 tak rob toto: zisti co sa stalo blizsie a vypis
   if(xmlhttp.readyState == 3) setStatus("Stav pripravenosti objektu je: Interactive(Interaktívny)",theelement);
   if(xmlhttp.readyState == 2) setStatus("Stav pripravenosti objektu je: Loaded(Načítaný)",theelement);
   if(xmlhttp.readyState == 1) setStatus("Stav pripravenosti objektu je: Loading(Načítavam...)",theelement);
   if(xmlhttp.readyState == 0) setStatus("Stav pripravenosti objektu je: Uninitialized(Neinicializovaný)",theelement);
   if(xmlhttp.status == 304) setStatus("Stav servera je: Not modified(Nezmenený)",theelement);
   if(xmlhttp.status == 401) setStatus("Stav servera je: Unauthorized(Nemáte právo na prístup)",theelement);
   if(xmlhttp.status == 403) setStatus("Stav servera je: Forbidden(Zakázaný prístup)",theelement);
   if(xmlhttp.status == 404) setStatus("Stav servera je: Not found(Žiadaný dokument nenájdený)",theelement);
   if(xmlhttp.status == 500) setStatus("Stav servera je: Internal server error(Vnútorná chyba servera)",theelement);
   if(xmlhttp.status == 503) setStatus("Stav servera je: Service not available(Služba nedostupná)",theelement);
}
}catch(e){}
}
} else {
//ak element nebol prazdny, vyprazdnim ho a naplnim tym, co vratil server, to co mam aj vyssie
document.getElementById(theelement).innerHTML = "";
setStatus("Načítavam...",theelement);
serverPage = "j_install.php";
var obj = document.getElementById(theelement);
xmlhttp.open("POST", serverPage,true);
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=windows-1250");
xmlhttp.onreadystatechange = function() {
try{
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
obj.innerHTML = xmlhttp.responseText;
}else{
//ak sa stalo nieco ine nie readyState:4 a status:200 tak rob toto: zisti co sa stalo blizsie a vypis
   if(xmlhttp.readyState == 3) setStatus("Stav pripravenosti objektu je: Interactive(Interaktívny)",theelement);
   if(xmlhttp.readyState == 2) setStatus("Stav pripravenosti objektu je: Loaded(Načítaný)",theelement);
   if(xmlhttp.readyState == 1) setStatus("Stav pripravenosti objektu je: Loading(Načítavam...)",theelement);
   if(xmlhttp.readyState == 0) setStatus("Stav pripravenosti objektu je: Uninitialized(Neinicializovaný)",theelement);
   if(xmlhttp.status == 304) setStatus("Stav servera je: Not modified(Nezmenený)",theelement);
   if(xmlhttp.status == 401) setStatus("Stav servera je: Unauthorized(Nemáte právo na prístup)",theelement);
   if(xmlhttp.status == 403) setStatus("Stav servera je: Forbidden(Zakázaný prístup)",theelement);
   if(xmlhttp.status == 404) setStatus("Stav servera je: Not found(Žiadaný dokument nenájdený)",theelement);
   if(xmlhttp.status == 500) setStatus("Stav servera je: Internal server error(Vnútorná chyba servera)",theelement);
   if(xmlhttp.status == 503) setStatus("Stav servera je: Service not available(Služba nedostupná)",theelement);
}
}catch(e){}
}
}

xmlhttp.send(data_formulara);//odoslem serveru na jeho skript J_install.php data z formulara
}
//tato funkcia zobere data s formulara a vrati retazec, ktory pochopi server
function zober_data_formulara(){
var str="";
str+="dbhost="+document.getElementById("dbhost").value+"&dbname="+document.getElementById("dbname").value+"&dbuser="+document.getElementById("dbuser").value+"&dbpass="+document.getElementById("dbpass").value;
return str;
}

//tato funkcia iba zobrazi tociace sa koliesko s napisom Nacitavam...
function setStatus (theStatus,obj){
obj=document.getElementById(obj);
obj.innerHTML = "<div class=\"nacitavam\"><img src=\"pics/loading.gif\" /><span class=\"loading\">" + theStatus + "</span></div>";
}
//tato funkcia skryje upozornenie cervenym pismom na spodku stranky
function skry_upozornenie(theelement){
	document.getElementById(theelement).innerHTML="";
}


//tato funkcia vypne autocomplete akoze taky ofajc maly :)
function autocomplete_off(){
	document.getElementById("dbname").name=Math.random();
	document.getElementById("dbhost").name=Math.random();
	document.getElementById("dbuser").name=Math.random();
	document.getElementById("dbpass").name=Math.random();
}


//tato funkcia skontroluje udaje vo formulari a ak su ok, posle ich serveru a zobrazi odpoved serveru na data
function skontroluj_instdb(){
var vzor=/[^A-Za-z0-9_.-]/;
var co="";
var err=0;
if (document.getElementById("dbhost").value.search(vzor)>-1) {co+=" Host pre databázu, "; err=1;}
if (document.getElementById("dbname").value.search(vzor)>-1) {co+=" Meno pre databázu, "; err=1;}
if (document.getElementById("dbuser").value.search(vzor)>-1) {co+=" Užívateľa pre databázu, "; err=1;}
if (document.getElementById("dbpass").value.search(vzor)>-1) {co+=" Heslo pre databázu"; err=1;}

if(err==1) co=("Prosím zadajte "+co+" len z písmen, číslic, pomlčky, podtržníka a bodky!\n");

if((document.getElementById("dbhost").value).length<4){co+="Zadajte prosím Host pre databázu viac ako 3 písmená.\n"; err=1;}
if((document.getElementById("dbname").value).length<1){co+="Zadajte prosím Meno pre databázu viac ako 0 písmen.\n"; err=1;}
if((document.getElementById("dbuser").value).length<1){co+="Zadajte prosím Užívateľa pre databázu viac ako 0 písmen.\n"; err=1;}
if((document.getElementById("dbpass").value).length<4){co+="Zadajte prosím Heslo pre databázu viac ako 3 písmená.\n"; err=1;}
if(err==1){
alert(co);
}else{
skry_upozornenie("upozornenie");
napln_element("content",zober_data_formulara());
}
}
