var prevCountry = '0';
var prevRegion = '0';
var prevCity = '0';
var prevDistricts = '';

function swtchCat() {
	var frm = document.forms.detSearch;
	var ads_type = getCheckedValue(frm.ads_type);

	ads_type = ads_type.toString();
	if (ads_type == '1') {
		document.getElementById('cats1').style.display = 'block';
		document.getElementById('cats2').style.display = 'none';
	} else {
		document.getElementById('cats1').style.display = 'none';
		document.getElementById('cats2').style.display = 'block';
	}
	getPrvCats(ads_type);
	ChangeCountries(ads_type);
}


function getCheckedValue(radioObj) {
	var i;
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}



function getPrvCats(ads_type) {
	var i, j, rev_ads_type, curVal;
	var selVals = new Array();
	var ln = 0;
	var flag = false;

	if (ads_type == '1') {
		rev_ads_type = '2';
	} else {
		rev_ads_type = '1';
	}
	
	var countF = parseInt(document.getElementById('count_cats'+ads_type).value);
	var countR = parseInt(document.getElementById('count_cats'+rev_ads_type).value);

	for (i=0; i<countR; i++) {
		if (document.getElementById('ads_cat'+rev_ads_type+'_'+i.toString()).checked) {
			selVals[ln] = document.getElementById('ads_cat'+rev_ads_type+'_'+i.toString()).value;
			ln++;
		}
	}

	for (i=0; i<countF; i++) {
		curVal = document.getElementById('ads_cat'+ads_type+'_'+i.toString()).value;
		flag = false;
		for (j=0; j<ln; j++) {
			if (selVals[j] == curVal) {
				flag = true;
			}
		}
		if (flag) {
			document.getElementById('ads_cat'+ads_type+'_'+i.toString()).checked = true;
		} else {
			document.getElementById('ads_cat'+ads_type+'_'+i.toString()).checked = false;
		}
	}
}



function ChangeCountries(ads_type) {
	var selVals = '';
	var frm = document.forms.detSearch;
	var countF = parseInt(document.getElementById('count_cats'+ads_type).value);
	var i, len;
	var mrequest = '';
	var totalDis =  parseInt(document.getElementById('totalDis').value);

	for (i=0; i<countF; i++) {
		if (document.getElementById('ads_cat'+ads_type+'_'+i.toString()).checked) {
			selVals += document.getElementById('ads_cat'+ads_type+'_'+i.toString()).value+';';
		}
	}
	
	frm.elements["id_country"].disabled = true;
	
	prevCountry = frm.id_country.options[frm.id_country.selectedIndex].value;
	prevRegion = frm.id_region.options[frm.id_region.selectedIndex].value;
	prevCity = frm.id_city.options[frm.id_city.selectedIndex].value;
	prevDistricts = '';
	for (i=0; i<totalDis; i++) {
		if (document.getElementById('dis'+i.toString()).checked) {
			prevDistricts += document.getElementById('dis'+i.toString()).value + ';';
		}
	}
	
	len = frm.elements["id_country"].length;
	for (i=len-1; i>0; i--) {
		frm.elements["id_country"].options[i] = null;
	}

	ChangeRegions();
	ChangeCities();
	ChangeDistricts();

	if (selVals) {
		mrequest += '?ads_type=' + encodeURI(ads_type) + '&cats=' + encodeURI(selVals);
		mrequest += '&method=SrchCountries';
		
		loadXMLDoc(mrequest);
	}
	
}



function SrchCountries(result) {
	var frm = document.forms.detSearch;
	var tmp_arr = new Array();
	var i, j=1;

	if (result && result != '0') {
		tmp_arr = result.split(';');
		for (i=0; i<tmp_arr.length; i=i+2) {
			frm.elements["id_country"].options[j] = new Option(tmp_arr[i], tmp_arr[i+1]);
			if (tmp_arr[i+1] == prevCountry) {
				frm.elements["id_country"].selectedIndex = j;
			}
			j++;
		}
	}

	frm.elements["id_country"].disabled = false;
	ChangeRegions();
}




function ChangeRegions() {
	var selVals = '';
	var frm = document.forms.detSearch;
	var ads_type = getCheckedValue(frm.ads_type);
	var countF = parseInt(document.getElementById('count_cats'+ads_type).value);
	var country = frm.id_country.options[frm.id_country.selectedIndex].value;
	var i;
	var mrequest = '';

	for (i=0; i<countF; i++) {
		if (document.getElementById('ads_cat'+ads_type+'_'+i.toString()).checked) {
			selVals += document.getElementById('ads_cat'+ads_type+'_'+i.toString()).value+';';
		}
	}
	
	frm.elements["id_region"].disabled = true;
	len = frm.elements["id_region"].length;
	for (i=len-1; i>0; i--) {
		frm.elements["id_region"].options[i] = null;
	}

	ChangeCities();

	if (selVals && country && country != '0') {
		mrequest += '?ads_type=' + encodeURI(ads_type) + '&country=' + encodeURI(country) + '&cats=' + encodeURI(selVals);
		mrequest += '&method=SrchRegions';
		
		loadXMLDoc(mrequest);
	}
	
}




function SrchRegions(result) {
	var frm = document.forms.detSearch;
	var tmp_arr = new Array();
	var i, j=1;

	if (result && result != '0') {
		tmp_arr = result.split(';');
		for (i=0; i<tmp_arr.length; i=i+2) {
			frm.elements["id_region"].options[j] = new Option(tmp_arr[i], tmp_arr[i+1]);
			if (tmp_arr[i+1] == prevRegion) {
				frm.elements["id_region"].selectedIndex = j;
			}
			j++;
		}
	}

	frm.elements["id_region"].disabled = false;
	ChangeCities();
}



function ChangeCities() {
	var selVals = '';
	var frm = document.forms.detSearch;
	var ads_type = getCheckedValue(frm.ads_type);
	var countF = parseInt(document.getElementById('count_cats'+ads_type).value);
	var region = frm.id_region.options[frm.id_region.selectedIndex].value;
	var i;
	var mrequest = '';

	for (i=0; i<countF; i++) {
		if (document.getElementById('ads_cat'+ads_type+'_'+i.toString()).checked) {
			selVals += document.getElementById('ads_cat'+ads_type+'_'+i.toString()).value+';';
		}
	}
	
	frm.elements["id_city"].disabled = true;
	len = frm.elements["id_city"].length;
	for (i=len-1; i>0; i--) {
		frm.elements["id_city"].options[i] = null;
	}

	if (selVals && region && region != '0') {
		mrequest += '?ads_type=' + encodeURI(ads_type) + '&region=' + encodeURI(region) + '&cats=' + encodeURI(selVals);
		mrequest += '&method=SrchCities';
		
		loadXMLDoc(mrequest);
	}
	
}




function SrchCities(result) {
	var frm = document.forms.detSearch;
	var tmp_arr = new Array();
	var i, j=1;

	if (result && result != '0') {
		tmp_arr = result.split(';');
		for (i=0; i<tmp_arr.length; i=i+2) {
			frm.elements["id_city"].options[j] = new Option(tmp_arr[i], tmp_arr[i+1]);
			if (tmp_arr[i+1] == prevCity) {
				frm.elements["id_city"].selectedIndex = j;
			}
			j++;
		}
	}

	frm.elements["id_city"].disabled = false;
	ChangeDistricts();
}




function ChangeDistricts() {
	var selVals = '';
	var frm = document.forms.detSearch;
	var ads_type = getCheckedValue(frm.ads_type);
	var countF = parseInt(document.getElementById('count_cats'+ads_type).value);
	var city = frm.id_city.options[frm.id_city.selectedIndex].value;
	var i;
	var mrequest = '';
	var totalDisRows =  parseInt(document.getElementById('totalDisRows').value);
	var totalDis =  parseInt(document.getElementById('totalDis').value);

	for (i=0; i<countF; i++) {
		if (document.getElementById('ads_cat'+ads_type+'_'+i.toString()).checked) {
			selVals += document.getElementById('ads_cat'+ads_type+'_'+i.toString()).value+';';
		}
	}

	for (i=0; i<totalDisRows; i++) {
		document.getElementById('disTable').deleteRow(1);
	}

	document.getElementById('totalDisRows').value = '0';
	document.getElementById('totalDis').value = '0';

	if (selVals && city && city != '0') {
		mrequest += '?ads_type=' + encodeURI(ads_type) + '&city=' + encodeURI(city) + '&cats=' + encodeURI(selVals);
		mrequest += '&method=SrchDistricts';
		
		loadXMLDoc(mrequest);
	}
}



function SrchDistricts(result) {
	var tmp_arr = new Array();
	var tmp_arr2 = new Array();
	var ln, ln2, i, l, flag, ind, k=1, j=0;
	var totalDisRows, totalDis;
	var x, c1, c2;
	var alldis = document.getElementById('alldis').checked;
	var disbld = ' disabled="disabled"';
	if (!alldis) {
		disbld = '';
	}
	var chkd = '';

	if (result && result != '0') {
		tmp_arr = result.split(';');
		ln = tmp_arr.length;
		totalDis = ln/2;
		totalDisRows = Math.ceil(totalDis/3);
		if (prevDistricts) {
			tmp_arr2 = prevDistricts.split(';');
			ln2 = tmp_arr2.length;
		} else{
			ln2 = 0;
		}
		
		
		for (i=0; i<totalDisRows; i++) {
			x = document.getElementById('disTable').insertRow(k);
			c1=x.insertCell(0);
			c2=x.insertCell(1);
			c3=x.insertCell(2);

			if (j<totalDis) {
				ind = j*2;
				flag = false;
				if (ln2) {
					for (l=0; l<ln2; l++) {
						if (tmp_arr[ind+1] == tmp_arr2[l]) {
							flag = true;
						}
					}
				}
				if (flag) {
					chkd = ' checked="checked"';
				} else {
					chkd = '"';
				}

				c1.innerHTML = '<label><input type="checkbox" id="dis'+j+'"'+disbld+chkd+' name="dis'+j+'" value="'+tmp_arr[ind+1]+'" /> '+tmp_arr[ind]+'</label> &nbsp;';
			} else {
				c1.innerHTML = '&nbsp;';
			}
			j++;

			if (j<totalDis) {
				ind = j*2;
				flag = false;
				if (ln2) {
					for (l=0; l<ln2; l++) {
						if (tmp_arr[ind+1] == tmp_arr2[l]) {
							flag = true;
						}
					}
				}
				if (flag) {
					chkd = ' checked="checked"';
				} else {
					chkd = '"';
				}

				c2.innerHTML = '<label><input type="checkbox" id="dis'+j+'"'+disbld+chkd+' name="dis'+j+'" value="'+tmp_arr[ind+1]+'" /> '+tmp_arr[ind]+'</label>';
			} else {
				c2.innerHTML = '&nbsp;';
			}
			j++;

			if (j<totalDis) {
				ind = j*2;
				flag = false;
				if (ln2) {
					for (l=0; l<ln2; l++) {
						if (tmp_arr[ind+1] == tmp_arr2[l]) {
							flag = true;
						}
					}
				}
				if (flag) {
					chkd = ' checked="checked"';
				} else {
					chkd = '"';
				}

				c3.innerHTML = '<label><input type="checkbox" id="dis'+j+'"'+disbld+chkd+' name="dis'+j+'" value="'+tmp_arr[ind+1]+'" /> '+tmp_arr[ind]+'</label>';
			} else {
				c3.innerHTML = '&nbsp;';
			}
			j++;
			
			k++;
		}

		document.getElementById('totalDisRows').value = totalDisRows.toString();
		document.getElementById('totalDis').value = totalDis.toString();
	}
}




function SwitchDistricts() {
	var alldis = document.getElementById('alldis').checked;
	var totalDis =  parseInt(document.getElementById('totalDis').value);
	var i;

	for (i=0; i<totalDis; i++) {
		if (alldis) {
			document.getElementById('dis'+i.toString()).disabled = true;
		} else {
			document.getElementById('dis'+i.toString()).disabled = false;
		}
	}

}