/**
 * XHR objekty
 */ 
var xmlHttpBarva = null;
var xmlHttpOdruda = null;
var rootFolder = ""; // "/dotekvina"; => BOB 
/**
* barva u vin
*/      
function ajaxBarva(aSelect, kat) 
{
	// nacteni barev
	xmlHttpBarva = GetXmlHttpObject(); 
	// podporuje prohlizec AJAX?
	if (xmlHttpBarva == null) 
	{ 
		return false;
	}
	// nacteni vybranych hodnot z select boxu
	var pom = setZmenaMulti('changeBarva', 'barva').replace("&changeBarva=", "");
	// url pro nacteni hodnot podrazeneho prvku 
	//alert(pom);
	var sUrl = rootFolder+"/ajax/filter.php?type=zeme&barva=" + pom + "&cat=" + kat; 
  
	xmlHttpBarva.onreadystatechange = stateBarvaChanged;
	xmlHttpBarva.open("GET", sUrl, true);
	xmlHttpBarva.setRequestHeader("Content-Type","text/xml");
	xmlHttpBarva.setRequestHeader("encoding", "utf-8");
	xmlHttpBarva.send(null);    
//return false;
}

function stateBarvaChanged() 
{ 
	if (xmlHttpBarva.readyState == 4) 
	{ 
		var d = document.getElementById("divZeme");
		if (d != null) 
		{
			d.innerHTML = xmlHttpBarva.responseText;
			//alert(xmlHttpBarva.responseText);
			var BarvaId = setZmenaMulti('changeBarva', 'barva');
			BarvaId = BarvaId.replace('&changeBarva=', '');
			ajaxZeme(document.getElementById('zeme'), BarvaId, document.getElementById('kat').innerHTML);
		}
	}
}  


/**
* barva u tematickych krabic
*/
function ajaxBarvaTema(aSelect, kat) 
{
	xmlHttpBarva = GetXmlHttpObject(); 
	if (xmlHttpBarva == null) 
	{ 
		return false;
	}
	var pom = setZmenaMulti('changeBarvaTema', 'barva').replace("&changeBarvaTema=", ""); 
	var sUrl = rootFolder+"/ajax/filter.php?type=zeme&barva=" + pom + "&cat=" + kat; 
	xmlHttpBarva.onreadystatechange = stateBarvaTemaChanged;
	xmlHttpBarva.open("GET", sUrl, true);
	xmlHttpBarva.setRequestHeader("Content-Type","text/xml");
	xmlHttpBarva.setRequestHeader("encoding", "utf-8");
	xmlHttpBarva.send(null);    
	return false;
}

function stateBarvaTemaChanged() 
{ 
	if (xmlHttpBarva.readyState == 4) 
	{ 
		var d = document.getElementById("divZeme");
		if (d != null) {
			d.innerHTML = xmlHttpBarva.responseText;
		}
	}
}  


/**
* zeme u vin
*/     
function ajaxZeme(aSelect, BarvaId, kat) 
{
	xmlHttpZeme = GetXmlHttpObject(); 
	if (xmlHttpZeme == null) 
	{ 
		return false;
	}
	var pom = setZmenaMulti('changeZeme', 'zeme').replace("&changeZeme=", ""); 
	var sUrl = rootFolder+"/ajax/filter.php?type=oblasti&zeme=" + pom + '&barva='+BarvaId + "&cat=" + kat; 
	xmlHttpZeme.onreadystatechange = stateZemeChanged;
	xmlHttpZeme.open("GET", sUrl, true);
	xmlHttpZeme.setRequestHeader("Content-Type","text/xml");
	xmlHttpZeme.setRequestHeader("encoding", "utf-8");
	xmlHttpZeme.send(null);    
	return false;
}

function stateZemeChanged()
{ 
	if (xmlHttpZeme.readyState == 4) 
	{ 
		var d = document.getElementById("divOblast");
		//alert('divOblast');
		if (d != null) 
		{
			d.innerHTML = xmlHttpZeme.responseText;
			var BarvaId = setZmenaMulti('changeBarva', 'barva');
			BarvaId = BarvaId.replace('&changeBarva=', '');
			//todo:
			var ZemeId = setZmenaMulti('xx', 'zeme');
			ZemeId = ZemeId.replace('&xx=', '');
			//alert('divOblast1');
			ajaxOblast(document.getElementById('oblasti'), BarvaId, ZemeId, document.getElementById('kat').innerHTML);
			//alert('divOblast2');
		}
	}
}  

/**
* oblast
*/     
function ajaxOblast(aSelect, BarvaId, ZemeId, kat) 
{
	//alert('ajaxOblst');
	xmlHttpPodoblast = GetXmlHttpObject(); 
	if (xmlHttpPodoblast == null) 
	{ 
		return false;
	}
	var pom = setZmenaMulti('changeOblast','oblasti').replace("&changeOblast=", ""); 
	//alert(pom);
	var sUrl = rootFolder+"/ajax/filter.php?type=podoblast&oblast=" + pom + '&barva='+BarvaId + '&zeme='+ZemeId + "&cat=" + kat; ;
	xmlHttpPodoblast.onreadystatechange = stateOblastChanged;
	xmlHttpPodoblast.open("GET", sUrl, true);
	xmlHttpPodoblast.setRequestHeader("Content-Type","text/xml");
	xmlHttpPodoblast.setRequestHeader("encoding", "utf-8");
	xmlHttpPodoblast.send(null);    
	return false;
}

function stateOblastChanged()
{ 
	//alert(3);
	if (xmlHttpPodoblast.readyState == 4) 
	{ 
		var d = document.getElementById("divPodoblast");
		if (d != null) 
		{
			//alert(xmlHttpPodoblast.responseText);
			d.innerHTML = xmlHttpPodoblast.responseText;
			var OblastiId = setZmenaMulti('changeOblast', 'oblasti');
			OblastiId = OblastiId.replace('&changeOblast=', '');
      
			var BarvaId = setZmenaMulti('changeBarva', 'barva');
			BarvaId = BarvaId.replace('&changebarva=', '');
			//todo:
			var ZemeId = setZmenaMulti('xx', 'zeme');
			ZemeId = ZemeId.replace('&xx=', '');
			ajaxPodoblast(document.getElementById('podoblast'), BarvaId, ZemeId, document.getElementById('kat').innerHTML,OblastiId );
		}
	}
  
}  

/**
* podoblast
*/     
function ajaxPodoblast(aSelect, BarvaId, ZemeId, kat, OblastId) 
{
	xmlHttpPodoblast = GetXmlHttpObject(); 
	//alert(1);
	if (xmlHttpPodoblast == null) 
	{ 
		return false;
	}
	var pom = setZmenaMulti('changePodoblast','podoblast').replace("&changePodoblast=", ""); 
	var sUrl = rootFolder+"/ajax/filter.php?type=odruda&podoblast=" + pom + '&barva='+BarvaId + '&zeme='+ZemeId + "&cat=" + kat+"&oblast="+OblastId; 
	xmlHttpPodoblast.onreadystatechange = statePodoblastChanged;
	xmlHttpPodoblast.open("GET", sUrl, true);
	xmlHttpPodoblast.setRequestHeader("Content-Type","text/xml");
	xmlHttpPodoblast.setRequestHeader("encoding", "utf-8");
	xmlHttpPodoblast.send(null);    
	return false;
}

function statePodoblastChanged()
{ 
	//alert(4);
	if (xmlHttpPodoblast.readyState == 4) 
	{ 
		var d = document.getElementById("divOdruda");
		if (d != null) 
		{
			d.innerHTML = xmlHttpPodoblast.responseText;
			var PodoblastId = setZmenaMulti('xx', 'podoblast');
			PodoblastId = PodoblastId.replace('&xx=', '');
			
			var OblastiId = setZmenaMulti('changeOblast', 'oblasti');
			OblastiId = OblastiId.replace('&changeOblast=', '');
      
			var BarvaId = setZmenaMulti('changeBarva', 'barva');
			BarvaId = BarvaId.replace('&changebarva=', '');
			//todo:
			var ZemeId = setZmenaMulti('xx', 'zeme');
			ZemeId = ZemeId.replace('&xx=', '');
			ajaxOdruda(document.getElementById('odruda'), BarvaId, ZemeId, PodoblastId, document.getElementById('kat').innerHTML, OblastiId);
		}
	}
  
}  



/**
* odruda u vin
*/     
function ajaxOdruda(aSelect, BarvaId, ZemeId, PodoblastId, kat, OblastId) 
{
	xmlHttpOdruda = GetXmlHttpObject(); 
	if (xmlHttpOdruda == null) 
	{ 
		return false;
	}
	var pom = setZmenaMulti('changeOdruda', 'odruda').replace("&changeOdruda=", ""); 
	var sUrl = rootFolder+"/ajax/filter.php?type=vinarstvi&podoblast="+ PodoblastId + "&odruda=" + pom + '&barva='+BarvaId + '&zeme='+ZemeId + "&cat=" + kat+"&oblast=" + OblastId; 
	xmlHttpOdruda.onreadystatechange = stateOdrudaChanged;
	xmlHttpOdruda.open("GET", sUrl, true);
	xmlHttpOdruda.setRequestHeader("Content-Type","text/xml");
	xmlHttpOdruda.setRequestHeader("encoding", "utf-8");
	xmlHttpOdruda.send(null);    
	return false;
}

function stateOdrudaChanged()
{ 
	if (xmlHttpOdruda.readyState == 4) 
	{ 
		var d = document.getElementById("divVinarstvi");
		if (d != null) 
		{
			d.innerHTML = xmlHttpOdruda.responseText;
		}
	}
}  


/**
 * precte hodnoty z multi selectu a vrati je oddelene carkou i popiskem do query stringu
 */      
function setZmenaMulti(parNazev, multiNazev) 
{ 
	var chStr = "";
	if (parNazev!="changeBarva")
	{
		var frmFiltr = document.getElementById('search_form');
		var listBox = frmFiltr[multiNazev];
		var choices = new Array;
		for (var i = 0; i < listBox.options.length; i++)
		{
			if (listBox.options[i].selected) 
			{
				choices[choices.length] = listBox.options[i].value;
				if (chStr != "") chStr = chStr + ","
				chStr = chStr + listBox.options[i].value;
			}
		}

		if (chStr != "") chStr = '&'+parNazev+'='+chStr;
      
	}
	else
	{   
       
		var count = 0; 
		var retArr = new Array();
     
		$('input["name=barva[]"][type=checkbox]').each(function(index) {
			if($(this).attr("checked")==true){
				if (chStr != "") chStr = chStr + ","
				chStr = chStr + $(this).val();
			//alert($(this).val());
			}
		});
         
            
	}
	//alert(chStr);
	return chStr;
}
/*
 **Vrati zatrzene policko
 */
function getSelectedCheckbox(buttonGroup) {
	// Go through all the check boxes. return an array of all the ones
	// that are selected (their position numbers). if no boxes were checked,
	// returned array will be empty (length will be zero)
	/*
    var retArr = new Array();
    var lastElement = 0;
    if (true) { // if the button group is an array (one check box is not an array)
      
       for (var i=0; i<buttonGroup.length; i++) {
          if (buttonGroup[i].checked) {
             retArr.length = lastElement;
             retArr[lastElement] = i;
             lastElement++;
          }
       }
    } else { // There is only one check box (it's not an array)
       if (buttonGroup.checked) { // if the one check box is checked
          retArr.length = lastElement;
          retArr[lastElement] = 0; // return zero as the only array value
       }
    }
    return retArr;
  */                 
	var count = 0; 
	var retArr = new Array();
	$('input["name=barva[]"][type=checkbox]').each(function(index) {
		retArr[count] = $(this).val();
		count++;
	});
	//alert(count);
	return retArr ;
} // Ends the "getSelectedCheckbox" function
 
/**
 *  precte hodnotu ze selectu a vrati ji i popiskem do query stringu
 */     
function setZmenaCombo(parNazev, comboNazev) 
{
	var chStr = "";
	var frmFiltr = document.getElementById('search_form');
	var selectBox = frmFiltr[comboNazev];
	if (selectBox == null) return '';

	chStr = '&'+parNazev+'='+selectBox.value;
	return chStr;
}

/**
 * zjisti podporu XHR objektu v prohlizeci
 */ 
function GetXmlHttpObject() 
{
	var xmlHttp=null;
  
	// Firefox, Opera 8.0+, Safari
	try 
	{ 
		xmlHttp = new XMLHttpRequest();
	} 
	catch (e) 
	{
		// Internet Explorer
		try 
		{
			xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
		} 
		catch (e) 
		{
			xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	return xmlHttp;
}  

