// JavaScript Document

var xhro = createXHRO();

// wysylanie asynchroniczne zadania 
function getOffersList(SeafarerID, page)
{
	var Filter_ShipTypes	= getShipTypes(document.getElementById("Filter_ShipTypes"));
	var Filter_Position 	= getPositions(document.getElementById("Filter_Position"));	
	var Filter_JobType 	= getPositions(document.getElementById("Filter_JobType"));		

	var Filter_SalaryMT 	= encodeURIComponent(document.getElementById("Filter_SalaryMT").value);
	// var Filter_SalaryLT 	= encodeURIComponent(document.getElementById("Filter_SalaryLT").value);	
	var Filter_SalaryCurrency 	= encodeURIComponent(document.getElementById("Filter_SalaryCurrency").value);	
	
	var Filter_SeafarerSelected	= document.getElementById("SeafarerSelected").checked;
	
	xhro.open("GET", 	AjaxPHP + "?action=form_SearchOffers&Filter_JobType=" + Filter_JobType + "&Filter_ShipTypes=" + Filter_ShipTypes + "&Filter_Position=" + Filter_Position + "&Filter_SalaryMT=" + Filter_SalaryMT +  "&Filter_SalaryCurrency=" + Filter_SalaryCurrency + "&selected=" + Filter_SeafarerSelected + "&page=" + page + "&SeafarerID=" + SeafarerID, true);

	xhro.onreadystatechange = OffersNewListReceived;
	xhro.send('null');
}


function getShipTypes(param)
{
	var selectedString = "";
	for (i = 0; i < param.options.length; i++) {
		if (param.options[i].selected) {
			selectedString = selectedString + param.options[i].value + "," ;
		}
	}
	return selectedString;
}

function getPositions(param)
{
	var selectedString = "";
	for (i = 0; i < param.options.length; i++) {
		if (param.options[i].selected) {
			selectedString = selectedString + param.options[i].value + "," ;
		}
	}
	return selectedString;
}



function wait_FilterEdited(SeafarerID)
{
	if (SeafarerID == "") 
	{
		setTimeout("getOffersList('none', 1);", 100);
	} else 
	{
		setTimeout("getOffersList(" + SeafarerID + ", 1);", 100);
	}
}


function change_JobType(SeafarerID)
{
	wait_FilterEdited(SeafarerID);
	
	selectedType = document.getElementById("Filter_JobType").value;
	
	getStyleClass('showJobsType_deck').style.display = 'block';
	getStyleClass('showJobsType_engine').style.display = 'block';
	
	if (selectedType == "engine")
	{
		getStyleClass('showJobsType_engine').style.display = 'block';
		getStyleClass('showJobsType_deck').style.display = 'none';
	}
	if (selectedType == "deck")
	{
		getStyleClass('showJobsType_engine').style.display = 'none';
		getStyleClass('showJobsType_deck').style.display = 'block';
	}
	
	
}



function OffersNewListReceived() 
{
// kontynuuje jedynie jeśli transakcja została zakończona
  if (xhro.readyState == 4) 
  {
    // status 200 oznacza pomyślne ukończenie transakcji
    if (xhro.status == 200) 
    {
      textResponse = xhro.responseText;
      document.getElementById("ajax_OffersList").innerHTML =  textResponse ;
    } 
    // dla statusu protokołu HTTP innego niż 200 zgłasza błąd
    else 
    {
      alert("Wystąpił błąd podczas uzyskiwania dostępu do serwera: " + xhro.statusText);
    }
  }
  
}



function getStyleClass (className) {
	for (var s = 0; s < document.styleSheets.length; s++)
	{
		if(document.styleSheets[s].rules)
		{
			for (var r = 0; r < document.styleSheets[s].rules.length; r++)
			{
				if (document.styleSheets[s].rules[r].selectorText == '.' + className)
				{
					return document.styleSheets[s].rules[r];
				}
			}
		}
		else if(document.styleSheets[s].cssRules)
		{
			for (var r = 0; r < document.styleSheets[s].cssRules.length; r++)
			{
				if (document.styleSheets[s].cssRules[r].selectorText == '.' + className)
					return document.styleSheets[s].cssRules[r];
			}
		}
	}
	
	return null;
}
