// sprawdzanie czy pole nie jest puste?
function set_warning(field,id) {
	
	img_id = document.getElementById('img_' + id);
	img_id.src='images/error.png';
	img_id.style.display = 'inline';
	field.style.border = '1px solid #ff0000';
}

function set_ok(field,id) {
	img_id = document.getElementById('img_' + id);
	img_id.src='images/ok.png';
	img_id.style.display = 'inline';
	field.style.border = '1px solid #eef';
}

function validate_form(step) {
	
	//ustanawianie referencji do pól formularza
	var name = document.getElementById('form_name');
	var country = document.getElementById('form_country');
	var email = document.getElementById('form_email');
	var tel = document.getElementById('form_tel');
	var hour_start = document.getElementById('form_hour_start');
	var hour_end = document.getElementById('form_hour_end');
	var desc = document.getElementById('form_desc');
	
	//obsluga buttona 'wyslij'
	var btn_submit = document.getElementById("btn_submit");
	var enable_submit = true;
	
	//obsluga regexp dla pola email
	var wyrReg = new RegExp("^[_.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z-]+.)+[a-zA-Z]{2,4}$");
	
	//sprawdzanie formularza
	switch(step) {
		case 6: if (desc.value == '') { 		enable_submit = false; set_warning(desc,6); } else set_ok(desc,6);
		case 5: if (hour_end.value == '')  { 	enable_submit = false; set_warning(hour_end,5); } else set_ok(hour_end,5);
		case 4: if (hour_start.value == '')  { 	enable_submit = false; set_warning(hour_start,5); } else set_ok(hour_start,5);  //5 coz 4  and 5 is together
		case 31: if (tel.value == '')  { 		enable_submit = false; set_warning(tel,31); } else set_ok(tel,31);
		case 3: if (!wyrReg.test(email.value)){ enable_submit = false; set_warning(email,3); } else set_ok(email,3);
		case 2: if (country.value == '')  { 	enable_submit = false; set_warning(country,2); } else set_ok(country,2);
		case 1: if (name.value == '')  { 		enable_submit = false; set_warning(name,1); } else set_ok(name,1);
	}
	
	// włącznie/wyłączanie buttona 'wyslij' i ustanawianie komunikatu warninga
	if ((enable_submit == true) && (desc.value != '')) {
		btn_submit.disabled = false;
		btn_submit.style.background = ('url(images/wyslij.png)');
		btn_submit.style.cursor = 'hand';
	}
	else {
		btn_submit.disabled = true;
		btn_submit.style.background = ('url(images/wyslij_disable.png)');
		btn_submit.style.cursor = '';

	}
}

//funkcja pokazuje okienko z informacją
function showMsg(txt) {
	var msgbox = document.getElementById('msgbox');
	var body = document.getElementById('msgbox_body');
	body.innerHTML = txt;
	msgbox.style.display = 'block';
}









// przechowuje obiekt XMLHttpRequest
var xmlHttp = createXmlHttpRequestObject();

// tworzy obiekt XMLHttpRequest
function createXmlHttpRequestObject() 
{
  var xmlHttp;
  try
  {
    xmlHttp = new XMLHttpRequest();
  }
  catch(e)
  {
    var XmlHttpVersions = new Array("MSXML2.XMLHTTP.6.0",
      "MSXML2.XMLHTTP.5.0",
      "MSXML2.XMLHTTP.4.0",
      "MSXML2.XMLHTTP.3.0",
      "MSXML2.XMLHTTP",
      "Microsoft.XMLHTTP");
    for (var i=0; i<XmlHttpVersions.length && !xmlHttp; i++) 
    {
      try 
      { 
        xmlHttp = new ActiveXObject(XmlHttpVersions[i]);
      } 
      catch (e) {}
    }
  }
  if (!xmlHttp)
    alert("ERROR #1.");
  else 
    return xmlHttp;
}


// obsługuje odpowiedź otrzymaną z serwera
function handleServerResponse() {

  var txtResponse = xmlHttp.responseText;
  if (!txtResponse)
    throw("Brak odpowiedzi serwera:\n" + xmlHttp.responseText);
     
	showMsg(txtResponse);
  return true;
}

// funkcja wywoływana przy zmianie statusu żądania HTTP
function handleRequestStateChange() 
{
  if (xmlHttp.readyState == 4) 
  {
    if (xmlHttp.status == 200) 
    {
      try
      {
        handleServerResponse();
      }
      catch(e)
      {
       alert("ERROR #3: " + e.toString());
      }
    } 
    else
    {
     alert("Problem przy pobieraniu danych:\n" + xmlHttp.statusText);
    }
  }
}



//obsluga wysylania



function send_form(form,btn_submit) {
	var f = document.getElementById('form1');

	var name       = form.form_name.value;
	var mail       = form.form_email.value;
	var tel        = form.form_tel.value;
	var country    = form.form_country.value;
	var time_start = form.form_hour_start.value;
	var time_end   = form.form_hour_end.value;
	var desc       = form.form_desc.value;
	var fake       = form.form_fake.value;
	
	
	btn_submit.disabled=true;
	btn_submit.style.background = ('url(images/wyslij_disable.png)');
	btn_submit.style.cursor = '';
	
	f.reset();
	document.getElementById('img_1').style.display='none';
	document.getElementById('img_2').style.display='none';
	document.getElementById('img_3').style.display='none';
	document.getElementById('img_31').style.display='none';
	document.getElementById('img_5').style.display='none';
	document.getElementById('img_6').style.display='none';
	

	//zabezpiecznie przed botami
	if (fake.length == 0) {
		xmlHttp.open("POST", "sendform.php");
		xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		xmlHttp.send('name=' + name + '&mail=' + mail + '&tel=' + tel + '&country=' + country + '&time_start=' + time_start + '&time_end=' + time_end + '&desc=' + desc + '&fake=' + fake);
		xmlHttp.onreadystatechange= handleRequestStateChange;
	}
}

