var xmlhttp;
var respond  = '';
var callback = '';


/**
 * quick search functions
 */


function choosed_country(country_id, lang, c_back) {
	//alert('country_id: ' + country_id);
	xmlhttp = GetXmlHttpObject();
	if(xmlhttp == null) {
		alert ("Your browser does not support AJAX!");
		return;
	}
	
	respond  = 'qs_region';
	callback = c_back;
	
	var url = "/ajax/choosed_country.php";
	url = url + "?country_id=" + country_id;
	url = url + "&lang=" + lang;
	
	xmlhttp.onreadystatechange = stateChanged;
	xmlhttp.open("GET", url, true);
	xmlhttp.send(null);
}



function choosed_region(region_id, lang, c_back) {
	//alert('region_id: ' + region_id);
	xmlhttp = GetXmlHttpObject();
	if(xmlhttp == null) {
		alert ("Your browser does not support AJAX!");
		return;
	}
	
	respond  = 'qs_estate_location';
	callback = c_back;
	
	var url = "/ajax/choosed_region.php";
	url = url + "?region_id=" + region_id;
	url = url + "&lang=" + lang;
	
	xmlhttp.onreadystatechange = stateChanged;
	xmlhttp.open("GET", url, true);
	xmlhttp.send(null);
}



/**
 * advanced search functions
 */

function adv_choosed_country(country_id, lang, c_back) {
	//alert('country_id: ' + country_id);
	xmlhttp = GetXmlHttpObject();
	if(xmlhttp == null) {
		alert ("Your browser does not support AJAX!");
		return;
	}
	
	// bulgaria id = 1, greece id = 15
	if(country_id == 1) {
		document.getElementById('flash_map').style.display 			= 'block';
		document.getElementById('flash_map_greece').style.display 	= 'none';
	}
	else if(country_id == 15) {
		document.getElementById('flash_map').style.display 			= 'none';
		document.getElementById('flash_map_greece').style.display 	= 'block';
	}
	
	respond  = 'adv_region';
	callback = c_back;
	
	var url = "/ajax/adv_choosed_country.php";
	url = url + "?country_id=" + country_id;
	url = url + "&lang=" + lang;
	
	xmlhttp.onreadystatechange = stateChanged;
	xmlhttp.open("GET", url, true);
	xmlhttp.send(null);
	
	document.getElementById('adv_municipality').innerHTML = 
	document.getElementById('adv_estate_location').innerHTML = '<div class="checkbox_list_container"> </div>';
}



function adv_choosed_region(region_id, lang, c_back) {
	//alert('region_id: ' + region_id);
	xmlhttp = GetXmlHttpObject();
	if(xmlhttp == null) {
		alert ("Your browser does not support AJAX!");
		return;
	}
	
	respond  = 'adv_municipality';
	callback = c_back;
	
	var url = "/ajax/adv_choosed_region.php";
	url = url + "?region_id=" + region_id;
	url = url + "&lang=" + lang;
	
	xmlhttp.onreadystatechange = stateChanged;
	xmlhttp.open("GET", url, true);
	xmlhttp.send(null);
	
	document.getElementById('adv_estate_location').innerHTML = '<div class="checkbox_list_container"> </div>';
}



function adv_choosed_municipality(lang, c_back) {
	//alert('region_id: ' + region_id);
	xmlhttp = GetXmlHttpObject();
	if(xmlhttp == null) {
		alert ("Your browser does not support AJAX!");
		return;
	}
	
	var checked = [];
	var inputs_elems = document.getElementsByTagName('input');
	
	for(i=0; i<inputs_elems.length; i++) {
		if(inputs_elems[i].type != 'checkbox') continue;
		if(!sub_string('municipality_', inputs_elems[i].id)) continue;
		if(!inputs_elems[i].checked) continue;
		checked.push(inputs_elems[i].value);
	}
	
	var ids_str = checked.join(',');
	//alert(ids_str); return;
	
	respond = 'adv_estate_location';
	callback = c_back;
	
	var url = "/ajax/adv_choosed_municipality.php";
	url = url + "?checked=" + ids_str;
	url = url + "&lang=" + lang;
	
	xmlhttp.onreadystatechange = stateChanged;
	xmlhttp.open("GET", url, true);
	xmlhttp.send(null);
}



/**
 * ajax functions
 */



function stateChanged() {
	if (xmlhttp.readyState == 4) {
		document.getElementById(respond).innerHTML = xmlhttp.responseText;
		
		if(callback != '') eval(callback);
	}
}



function GetXmlHttpObject() {
	if (window.XMLHttpRequest) {
		// code for IE7+, Firefox, Chrome, Opera, Safari
		return new XMLHttpRequest();
	}
	if (window.ActiveXObject) {
		// code for IE6, IE5
		return new ActiveXObject("Microsoft.XMLHTTP");
	}
	return null;
}




function sub_string(srch, string) {
	var match_pos = string.search(srch);
	
	if(match_pos != -1) {
		//matched
		return true;
	}
	else {
		//not matched
		return false;
	}
}




/**
 * other functions
 */


function check_uncheck_all(target, this_checked, lang) {
	//alert(this_checked); return;
	
	var checkboxes, prefix;
	
	switch(target) {
		case 'municipalities':{
			checkboxes 	= document.getElementsByName('municipalities_arr[]');
			prefix 		= 'municipality_';
			break;
		}
		case 'locations':{
			checkboxes 	= document.getElementsByName('locations_arr[]');
			prefix 		= 'location_';
			break;
		}
	}
	
	for(i=0; i<checkboxes.length; i++) {
		document.getElementById(prefix + checkboxes[i].value).checked = this_checked;
	}
	
	if(target == 'municipalities') {
		adv_choosed_municipality(lang);
	}
}





