function activateCountryForm() {
	var oCountries = document.getElementById("country");
	addEventHandler(oCountries, "change", getNetworks);
}
function activateStep3Form() {
	var oSaveEmail = document.getElementById("buttonDalej");
	addEventHandler(oSaveEmail, "click", saveEmail);
}
function activateStep2BB5Form() {

	var oLogsRadio_no = document.getElementById("logs_no");
	var oLogsRadio_yes = document.getElementById("logs_yes");
	var oDalej = document.getElementById("buttonDalej");
	var oKosztBlock = document.getElementById("blokSrodkowySimlockUnlockKoszt");
	var oLogsBlock = document.getElementById("blokSrodkowySimlockUnlockAddInfo");
	var oHasloBlock = document.getElementById("blokSrodkowySimlockUnlockDwa");
	var oPlatnoscBlock = document.getElementById("blokSrodkowyPlatnosc");
	var oPomocBlock = document.getElementById("blokSrodkowySimlockUnlockPomoc");
	
	oKosztBlock.style.display = "none";
	oLogsBlock.style.display = "block";
	oHasloBlock.style.display = "none";
	oPlatnoscBlock.style.display = "none";
	oPomocBlock.style.display = "none";
	
	addEventHandler(oDalej, "click", step2Next);
	addEventHandler(oLogsRadio_no, "click", showLogsForm);
	addEventHandler(oLogsRadio_yes, "click", showLogsForm);
}
function allowRegexpChar(event, object, regexpstr) {
   		var code = (event.which == null) ? event.keyCode : event.which;
   		if (code < 0x20 || code > 0x7e)
   			return true;
   		var regexp = eval("/" + regexpstr + "/");
   		var str = String.fromCharCode(code);
   		if (str.match(regexp) == null)
   			return false;
   		return true;
   	}
function showLogsForm(oEvent)
{
	var oLogsForm = document.getElementById("logs_form");
	var oLogsRadio_no = document.getElementById("logs_no");
	var oLogsRadio_yes = document.getElementById("logs_yes");
	var oLogsFormContent = document.getElementById("logs_content");
	
	if (oLogsRadio_no.checked == true)
	{
		oLogsForm.style.display = "none";
		oLogsFormContent.disabled = true;
	}
	else
	if (oLogsRadio_yes.checked == true)
	{
		oLogsForm.style.display = "block";
		oLogsFormContent.disabled = false;
	}
}
function step2Next(oEvent)
{
	var oLogsRadio_yes = document.getElementById("logs_yes");
	var oLogsRadio_no = document.getElementById("logs_no");
	var oLogsFormContent = document.getElementById("logs_content");

	if (oLogsRadio_yes.checked == true && oLogsFormContent.value == "")
	{
		alert("Wklej zawartość logów wygenerowanych zgodnie z instrukcją!");
		return false;
	}
	var oKosztBlock = document.getElementById("blokSrodkowySimlockUnlockKoszt");
	var oLogsBlock = document.getElementById("blokSrodkowySimlockUnlockAddInfo");
	var oHasloBlock = document.getElementById("blokSrodkowySimlockUnlockDwa");
	var oPlatnoscBlock = document.getElementById("blokSrodkowyPlatnosc");
	var oPomocBlock = document.getElementById("blokSrodkowySimlockUnlockPomoc");

	var oWarningMsg = document.getElementById("warning");
	if (oLogsRadio_no.checked == true)
		oWarningMsg.innerHTML = "UWAGA! Nie wprowadzono danych dodatkowych, zatem odpowiedzialność za nieprawidłowe<br />działanie kodów odblokowujących bierzesz na siebie! Pamiętaj, że zgodnie z Regulaminem wówczas nie przysługuje prawo zwrotu poniesionych kosztów!";

	oKosztBlock.style.display = "block";
	oLogsBlock.style.display = "none";
	oHasloBlock.style.display = "block";
	oPlatnoscBlock.style.display = "block";
	oPomocBlock.style.display = "block";
}


// wysyła asynchroniczne żądanie protokołem HTTP korzystając z obiektu XMLHttpRequest
function getNetworks(oEvent)
{
  var oEventSrc = getEventSrc(oEvent);
  var oNetworks = document.getElementById("networks");
	oNetworks.disabled = "disabled";
  // kontynuuje jedynie jeśli obiekt xmlHttp nie jest zajęty

  if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
  {
    // pobiera kraj wybrany przez użytkownika w formularzu

	var oCountries = document.getElementById("country");

	if(trim(oCountries.value)) {
	    xmlHttp.open("POST", "network.php", true);  
	    xmlHttp.onreadystatechange = getNetworkResults;
	    xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	    xmlHttp.send("countryId=" + oCountries.value);
	}
	else {
		loginFailed(1, oEventSrc);		
	}
  }
  else
    // jeśli połączenie jest zajęte, ponawia próbę po 1 sekundzie
    setTimeout('getNetworks(oEvent)', 1000);
}

// wykonywana automatycznie po otrzymaniu odpowiedzi z serwera
function getNetworkResults() 
{
	var oNetworks = document.getElementById("networks");
  // kontynuuje jedynie jeśli transakcja została zakończona
  if (xmlHttp.readyState == 4)  {
    // status 200 oznacza pomyślne ukończenie transakcji
    if (xmlHttp.status == 200)  {
			oNetworks.options.length = 1;
			eval(xmlHttp.responseText);
	}
  }
  oNetworks.disabled = null;
}

function getModelImage(value)
{
	if (!value) value='0|0';
	id=value.split("|");
	src="resources/phones/"+id[1]+"a.jpg";
	parent.document.getElementById("modelImage").src = src;
}

function saveEmail(oEvent)
{
	showProgress(true, "ZapiszEmailPostep", "ZapiszEmail");
  var oEventSrc = getEventSrc(oEvent);
  var oEmail = document.getElementById("email");
  var oCode = document.getElementById("code");
  // kontynuuje jedynie jeśli obiekt xmlHttp nie jest zajęty

  if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
  {
    // pobiera kraj wybrany przez użytkownika w formularzu

	    xmlHttp.open("POST", "engine/saveEmail.php", true);  
	    xmlHttp.onreadystatechange = saveEmailResults;
	    xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	    xmlHttp.send("email=" + oEmail.value + "&code=" + oCode.value);
  }
  else
    // jeśli połączenie jest zajęte, ponawia próbę po 1 sekundzie
    setTimeout('saveEmail(oEvent)', 1000);
}
function saveEmailResults() 
{
	// kontynuuje jedynie jesli transakcja zostala zakonczona
	if (xmlHttp.readyState == 4) 
	{
  		// status 200 oznacza pomyslne ukonczenie transakcji
		if (xmlHttp.status == 200) 
		{	
			// wyodrebnia wiadomosc wyslana z serwera
			sResponse = xmlHttp.responseText;
			var oResultDiv = document.getElementById("wynik");
			oResultDiv.innerHTML = sResponse;
			showProgress(false, "ZapiszEmailPostep", "ZapiszEmail");
		} 
		// dla statusu protokolu HTTP innego niz 200 zglasza blad
		else 
		{
			alert("Wystapil blad podczas uzyskiwania dostepu do serwera: " + xmlHttp.statusText);
		}
	}
}
