//------------------------------------------------------------
function createXMLHttpRequest() {
/*
      try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {}
      try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {}
      try { return new XMLHttpRequest(); } catch(e) {}
      alert("Brak obsługi XMLHttpRequest");
      return null;
*/
}
//------------------------------------------------------------
function $(id) {
	return document.getElementById(id);
}
//------------------------------------------------------------
function selectCatalog() {
/*
	var xhr = createXMLHttpRequest();
  	xhr.onreadystatechange = function() {
    		if (xhr.readyState==4) { // Obsługa żądania została zakończona
      		if (xhr.status==200) {
        			var anagramsCSV = xhr.responseText;
        			updateAnagramsDisplay(anagramsCSV);
      		} else {
        			alert("Wystąpił błąd.");
      		}
		}
	}
  	var word = $("word").value;
  	xhr.open("GET", "anagrams.phtml?word="+word, true);
  	xhr.send(null);
*/
}
//------------------------------------------------------------
function changeSelect(typ) {

	var ile 	= 0;
	var i 	= 0;

	var s_location 	= $("s_location");
	var l_val 		= getSelected(s_location);
	var s_category 	= $("s_category");
	var c_val 		= getSelected(s_category);
	var s_room 		= $("s_room");
	var r_val 		= getSelected(s_room);
	var s_price 	= $("s_price");
	var p_val 		= getSelected(s_price);
	var s_area 		= $("s_area");
	var a_val 		= getSelected(s_area);


	// 1. przeładowanie selekta z lokalizacjami
	if (typ != 's_location') {
		clearSelect(s_location);

		for (var k = 0; k < location_array[0].length; k++) {
			val = location_array[0][k];
			if (verifyVal(val, c_val, r_val, p_val, a_val)) {
				label = location_array[1][k];
				addNewOpt(s_location,val,label,l_val);
			}
		}
	}

	// 2. przeładowanie selekta z kategoriami
	if (typ != 's_category') {
		clearSelect(s_category);

		for (var k = 0; k < category_array[0].length; k++) {
			val = category_array[0][k];
			if (verifyVal(l_val, val, r_val, p_val, a_val)) {
				label = category_array[1][k];
				addNewOpt(s_category,val,label,c_val);
			}
		}
	}

	// 3. przeładowanie selekta z pokojami
	if (typ != 's_room') {
		clearSelect(s_room);

		for (var k = 0; k < room_array[0].length; k++) {
			val = room_array[0][k];
			if (verifyVal(l_val, c_val, val, p_val, a_val)) {
				label = room_array[1][k];
				addNewOpt(s_room,val,label,r_val);
			}
		}
	}

	// 4. przeładowanie selekta z cenami
	if (typ != 's_price') {
		clearSelect(s_price);

		for (var k = 0; k < price_array[0].length; k++) {
			val = price_array[0][k];
			if (verifyVal(l_val, c_val, r_val, val, a_val)) {
				label = price_array[1][k];
				addNewOpt(s_price,val,label,p_val);
			}
		}
	}

	// 5. przeładowanie selekta z powierzchnią
	if (typ != 's_area') {
		clearSelect(s_area);

		for (var k = 0; k < area_array[0].length; k++) {
			val = area_array[0][k];
			if (verifyVal(l_val, c_val, r_val, p_val, val)) {
				label = area_array[1][k];
				addNewOpt(s_area,val,label,a_val);
			}
		}
	}

}
//------------------------------------------------------------
function getSelected(sel) {
	return sel.options[sel.selectedIndex].value;
}
//------------------------------------------------------------
function clearSelect(sel) {
	if (sel != null) {
		while (sel.length > 1) {
			sel.remove(sel.length - 1);
		}
		sel.selectedIndex = 0;
      }
}
//------------------------------------------------------------
function isNewOpt(sel,val) {
	nowy = true;
	for (var k = 0; k < sel.length; k++) {
		if (sel.options[k].value == val) {
			nowy = false;
		}
	}

	return nowy;
}
//------------------------------------------------------------
function addNewOpt(sel,val,label,selval) {
	newOpt = document.createElement("OPTION");
	newOpt.value 	= val;
	newOpt.text 	= label;
	sel.options.add(newOpt, sel.length);
	if (selval == val) {
		sel.selectedIndex = sel.length - 1;
      }
}
//------------------------------------------------------------
function verifyVal(l_val, c_val, r_val, p_val, a_val) {
	a_od = 0;
	a_do = 0;
	p_od = 0;
	p_do = 0;

	if (p_val != -1) {
		for (i = 0; i < price_array[0].length; i++) {
            	if (price_array[0][i] == p_val) {
      			p_od = price_array[2][i];
      			p_do = price_array[3][i];
                  }
            }
      }
	if (a_val != -1) {
		for (i = 0; i < area_array[0].length; i++) {
            	if (area_array[0][i] == a_val) {
      			a_od = area_array[2][i];
      			a_do = area_array[3][i];
                  }
            }
      }

	for (i = 0; i < full_array[0].length; i++) {
		if ((l_val == -1 || full_array[1][i] == l_val)
	 	 && (c_val == -1 || full_array[2][i] == c_val)
	 	 && (r_val == -1 || full_array[3][i] == r_val)
	 	 && (p_val == -1 || (full_array[4][i] >= p_od && full_array[4][i] <= p_do))
	 	 && (a_val == -1 || (full_array[5][i] >= a_od && full_array[5][i] <= a_do)) ) {

             	return true;
		 }
	}

	return false;

}
//------------------------------------------------------------

