//globalna promenljiva koja vodi računa o statusu upozorenja
var bezUpozorenja = 'false';

/**
 * Kreira AJAX objekta.
 * 
 * @return ajax objekat
 */
function napraviAjaxObjekat()
{
var xmlHttp=null;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
return xmlHttp;
}

function obeleziGreske(greske)
{
	for (var i = 0; i < greske.length; i++)
	{
		if (greske[i].getAttribute('id') != null)
			document.getElementById("g_" + greske[i].attributes[0].value).style.display = "inline";
	}
}

function obeleziUpozorenja(greske)
{
	for (var i = 0; i < greske.length; i++)
	{
		if (greske[i].getAttribute('id') != null)
			document.getElementById("u_" + greske[i].attributes[0].value).style.display = "inline";
	}
}

function uhvatiRezultat() 
{
	if (xmlHttp.readyState == 4)
	{
		if (xmlHttp.status == 200)
		{
			//pamtimo xml odgovor
			var xmlDoc = xmlHttp.responseXML;

			//ako je sve ok daje info o uspesnosti
			if (xmlDoc.getElementsByTagName("uspeh")[0].childNodes[0].nodeValue == "true")
			{
				document.getElementById("greska").innerHTML = "Podaci su uspešno zabeleženi! Poslata vam je e-poruka za potvrdu. <br /><br /><span style=\"color:#FFB300\">Da bi prijava bila validna morate je potvrditi klikom na link u poruci.</span> <br /><br />Hvala na prijavi.";
				document.getElementById("greska").style.background = "#33CC00";
				document.getElementById("forma").style.display = "none";
			}
			//ako je doslo do greske ona ispisuje se odgovarajuca poruka
			else if (xmlDoc.getElementsByTagName("uspeh")[0].childNodes[0].nodeValue == "false")
			{
				//ako je u pitanju greska od koje se ne oporavlja
				if (xmlDoc.getElementsByTagName("greska").length)
				{
					//obelezavamo polja sa greskama
					obeleziGreske(xmlDoc.getElementsByTagName("greska"));
					
					//sakupljamo sve informacije o greskama
					var greske = "";
					var nizGresaka = xmlDoc.getElementsByTagName("greska");
					for (var i = 0; i < nizGresaka.length; i++)
					{
						greske += "<br />– " + nizGresaka[i].childNodes[0].nodeValue + "<br />";
					}
					document.getElementById("greska").innerHTML = '<em>Greske:</em> <span style="font-weight:normal">(morate ih ispraviti da biste se prijavili)</span> <br />' + greske;
					document.getElementById("greska").style.background = "#FF1717";
				}
				else if (xmlDoc.getElementsByTagName("upozorenje").length)
				{
					//obelezavamo polja sa greskama
					obeleziUpozorenja(xmlDoc.getElementsByTagName("upozorenje"));
					
					//sakupljamo sve informacije o greskama
					var greske = "";
					var nizGresaka = xmlDoc.getElementsByTagName("upozorenje");
					for (var i = 0; i < nizGresaka.length; i++)
					{
						greske += "<br />– " + nizGresaka[i].childNodes[0].nodeValue + "<br />";
					}
					document.getElementById("greska").innerHTML = '<em>Upozorenja:</em> <span style="font-weight:normal">(ako želite možete ih ignorisati)</span> <br />' + greske;
					document.getElementById("greska").innerHTML += '<br /><br /><a href="#" onclick="bezUpozorenja = \'true\'; posaljiPodatke(); bezUpozorenja = \'false\';"><img alt="Ignoriši upozorenja" src="images/ignorisi.gif" /></a>';
					document.getElementById("greska").style.background = "#FFB300";
				}
			}
			else
			{
				document.getElementById("greska").innerHTML = "Greska! Nije moguće uspostaviti vezu.";
				document.getElementById("greska").style.background = "#FF1717";
			}
			document.getElementById("load").style.display = "none";
			document.getElementById("greska").style.display = "block";
		}
	}
}

function procitajPodatke()
{
	var grupe = new Array();
	grupe[0] = '1'; //podrazumevana grupa

	var podaci = new Array(
		document.getElementById("ime").value,
		document.getElementById("prezime").value,
		document.getElementById("JMBG").value,
		document.getElementById("muski").checked?"M":document.getElementById("zenski").checked?"Ž":"",
		document.getElementById("ETF").selected?"ETF":document.getElementById("ostali").selected?"ostali":"",
		document.getElementById("OO").selected?"OO":document.getElementById("OE").selected?"OE":document.getElementById("OF").selected?"OF":document.getElementById("OG").selected?"OG":document.getElementById("OS").selected?"OS":document.getElementById("OT").selected?"OT":document.getElementById("IR").selected?"IR":document.getElementById("SI").selected?"SI":"",
		document.getElementById("licnaKartaBroj").value,
		document.getElementById("licnaKartaIzdavac").value,
		document.getElementById("pasosBroj").value,
		document.getElementById("pasosIzdavac").value,
		document.getElementById("srpsko").selected?"srpsko":document.getElementById("strano").selected?"strano":"",
		document.getElementById("mobilniTelefon").value,
		document.getElementById("ePosta").value,
		document.getElementById("prijavioSmestaj").checked?1:0,
		document.getElementById("prijavioPrevoz").checked?1:0,
		0, //platio smestaj
		0, //platio prevoz
		grupe //podrazumevana grupa
	); 
	return podaci;
}

function pripremiPodatke(podaci)
{
	var params = "";
	params += "ime=" + podaci[0];
	params += "&prezime=" + podaci[1];
	params += "&JMBG=" + podaci[2];
	params += "&pol=" + podaci[3];
	params += "&fakultet=" + podaci[4];
	params += "&odsek=" + podaci[5];
	params += "&licnaKartaBroj=" + podaci[6];
	params += "&licnaKartaIzdavac=" + podaci[7];
	params += "&pasosBroj=" + podaci[8];
	params += "&pasosIzdavac=" + podaci[9];
	params += "&drzavljanstvo=" + podaci[10];
	params += "&mobilniTelefon=" + encodeURIComponent(podaci[11]);
	params += "&ePosta=" + podaci[12];
	params += "&prijavioSmestaj=" + podaci[13];
	params += "&prijavioPrevoz=" + podaci[14];
	params += "&platioSmestaj=" + podaci[15];
	params += "&platioPrevoz=" + podaci[16];
	for (var i = 0; i < podaci[17].length; i++)
		params += "&nizGrupa[]=" + podaci[17][i];
	
	//dodavanje dodatnih informacija
	params += "&nivo=2";
	params += "&mejl=true";
	params += "&bezUpozorenja=" + bezUpozorenja;

	return params;
}

function pripremiIkonice()
{
	document.getElementById("greska").style.display = "none";
	document.getElementById("load").style.display = "block";
	
	document.getElementById("g_ime").style.display = "none";
	document.getElementById("g_prezime").style.display = "none";
	document.getElementById("g_JMBG").style.display = "none";
	document.getElementById("g_pol").style.display = "none";
	document.getElementById("g_fakultet").style.display = "none";
	document.getElementById("g_odsek").style.display = "none";
	document.getElementById("g_licnaKartaBroj").style.display = "none";
	document.getElementById("g_licnaKartaIzdavac").style.display = "none";
	document.getElementById("g_pasosBroj").style.display = "none";
	document.getElementById("g_pasosIzdavac").style.display = "none";
	document.getElementById("g_drzavljanstvo").style.display = "none";
	document.getElementById("g_mobilniTelefon").style.display = "none";
	document.getElementById("g_ePosta").style.display = "none";
	document.getElementById("g_prijavioSmestaj").style.display = "none";
	
	document.getElementById("u_ime").style.display = "none";
	document.getElementById("u_prezime").style.display = "none";
	document.getElementById("u_JMBG").style.display = "none";
	document.getElementById("u_pol").style.display = "none";
	document.getElementById("u_fakultet").style.display = "none";
	document.getElementById("u_odsek").style.display = "none";
	document.getElementById("u_licnaKartaBroj").style.display = "none";
	document.getElementById("u_licnaKartaIzdavac").style.display = "none";
	document.getElementById("u_pasosBroj").style.display = "none";
	document.getElementById("u_pasosIzdavac").style.display = "none";
	document.getElementById("u_drzavljanstvo").style.display = "none";
	document.getElementById("u_mobilniTelefon").style.display = "none";
	document.getElementById("u_ePosta").style.display = "none";
	document.getElementById("u_prijavioSmestaj").style.display = "none";
}

function posaljiPodatke()
{
	pripremiIkonice();

	xmlHttp=napraviAjaxObjekat();
	if (xmlHttp==null)
	  {
	  alert ("Vaš pretraživač ne podržava AJAX!");
	  return;
	  } 

	var podaci = procitajPodatke();
	var params = pripremiPodatke(podaci);
	var skripta = "ea/turisti/kernel/dodajUcesnika.php";

	xmlHttp.onreadystatechange = uhvatiRezultat;
	xmlHttp.open("POST",skripta,true);
	xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=UTF-8");
	xmlHttp.setRequestHeader("Content-length", params.length);
	xmlHttp.setRequestHeader("Connection", "close");
	xmlHttp.send(params);
}

