//common functions for admin and front-end

//=====================================================================================================================
//POPULATE TAGS
//=====================================================================================================================


function pupulate_tags_facet()
{
	
	var facet_id = $F("facet_id");	

	
	var url = dir_value+"/ajax/ajax_update.php";
	var pars = "action_list=get_tags&facet_id="+facet_id;
	
	var tag_id_el = $('tag_id');		
	
	tag_id_el.options[0] = new Option("Loading...", "0");
	tag_id_el.selectedIndex = 0;
	tag_id_el.disabled = true;
	
	var myAjax = new Ajax.Request( url,

											{
												
											  method: 'get',
											  parameters: pars,
											  onComplete: pupulate_tags_facet_from_server
											  
											}

								);			
										 										 
										 	
}

function pupulate_tags_facet_from_server(originalRequest)
{
	
		Try.these(
			function () {				
				
				var jsonObject = eval('(' + originalRequest.responseText + ')');				
				
				
				var tag_id_el = $("tag_id");
	
				tag_id_el.options[0] = new Option("Choose", "0");
				tag_id_el.options.length  = 1;
				
				for(var i=0; i<jsonObject["object_data"].length; i++)
				{
					if(jsonObject["object_data"][i]["tag_id"]!='')
					{
						 tag_id_el.options[i+1] = new Option(jsonObject["object_data"][i]["tag_name"], jsonObject["object_data"][i]["tag_id"]);
					}
				}								
				
				tag_id_el.disabled = false;	
				
			}//function ()			
			
			
	);	
	
}


function add_poi_tag()
{
	var url = dir_value+"/actions.php";
		
}

//=====================================================================================================================
//=====================================================================================================================


//=====================================================================================================================
//POPULATE REGIONS / REGION TYPES
//=====================================================================================================================
function pupulate_parent_regions()
{
	
	var parent_region_type_id = $F("parent_region_type_id");
	

	
	var url = dir_value+"/ajax/ajax_update.php";
	var pars = "action_list=get_regions&parent_region_type_id="+parent_region_type_id+"&page_name_page="+page_name_value+"&dir_page="+dir_value;
	
	var parent_region_id_el = $('parent_region_id');		
	
	parent_region_id_el.options[0] = new Option("Loading...", "0");
	parent_region_id_el.selectedIndex = 0;
	parent_region_id_el.disabled = true;
	
	var myAjax = new Ajax.Request( url,

											{
												
											  method: 'get',
											  parameters: pars,
											  onComplete: populate_parent_regions_from_server
											  
											}

								);			
										 										 
										 	
}

function populate_parent_regions_from_server(originalRequest)
{
	
		Try.these(
			function () {				
				
				var jsonObject = eval('(' + originalRequest.responseText + ')');				
				
				
				var parent_region_id_el = $("parent_region_id");
	
				parent_region_id_el.options[0] = new Option("Choose", "0");
				parent_region_id_el.options.length  = 1;
				
				for(var i=0; i<jsonObject["object_data"].length; i++)
				{
					if(jsonObject["object_data"][i]["region_id"]!='')
					{
						 parent_region_id_el.options[i+1] = new Option(jsonObject["object_data"][i]["region_name"], jsonObject["object_data"][i]["region_id"]);
					}
				}								
				
				parent_region_id_el.disabled = false;	
				
			}//function ()			
			
			
	);	
	
}
//=====================================================================================================================
//=====================================================================================================================
function set_action_populate_subregions()
{
	var parent_region_id = $F("parent_region_id");
	
	var url = dir_value+"/ajax/ajax_update.php";	
	var pars = "parent_region_id="+parent_region_id+"&page_name_page="+page_name_value+"dir_page="+dir_value+"&action_list=get_subregions";
	
	var myAjax = new Ajax.Request( url,

											{
												
											  method: 'get',
											  parameters: pars,
											  onComplete: set_action_populate_subregions_from_server
											  
											}

								);
									
}

function set_action_populate_subregions_from_server(originalRequest)
{
	Try.these(
			function () {				
				
				var jsonObject = eval('(' + originalRequest.responseText + ')');				
				

				var nr_elements = jsonObject["object_data"].length;			
					
				if(nr_elements > 0)
				{
					var parent_region_id_el = $("region_id");
		
					parent_region_id_el.options[0] = new Option("Choose", "0");
					parent_region_id_el.options.length  = 1;
					
					
					for(var i=0; i<nr_elements; i++)
					{
						if(jsonObject["object_data"][i]["region_id"]!='')
						{
							 parent_region_id_el.options[i+1] = new Option(jsonObject["object_data"][i]["region_name"], jsonObject["object_data"][i]["region_id"]);
						}
					}
					
					$("subregion_div").style.display = "block";
					$("or_div").style.display = "block";
					$("subregion_name_div").style.display = "block";
					
				}
				else
				{
					$("subregion_name_div").style.display = "block";
					
					$("subregion_div").style.display = "none";
					$("or_div").style.display = "none";
				}

					
				
			}//function ()			
			
			
	);	
	
}


function show_div_filter(number)
{
	var name = "div_filters_"+number;
	var div_explain = $(name);
	
	var image_name = "image_filters_"+number;
	var image_obj = $(image_name);
	

	if(div_explain.style.display=="block")
	{
		div_explain.style.display="none";
		image_obj.src='../images/bullet_arrow_down.gif';
	}
	else
	{
		div_explain.style.display="block";
		image_obj.src='../images/bullet_arrow_up.gif';

	}

}

function show_get_details_overlay()
{
	showBox_centered("overlay_main_page", "get_details_request");
}

function show_booking_details(listing_id)
{
	showBox_centered("overlay_main_page", "booking_request");
}

function show_contact_details()
{
	showBox_centered("overlay_main_page", "contact_form_content");
}

function submit_book_app(form_obj)
{
	
	dir_value = '../../';
	
	
	var date4 = document.booking_form.date4.value;
	      
	  
	 for (var i=0; i < document.booking_form.time.length; i++)
	{
	   if (document.booking_form.time[i].checked)
	   {
	      var time = document.booking_form.time[i].value;
	      
	    }
	 }
	 
	  for (var i=0; i < document.booking_form.realtor.length; i++)
	{
	   if (document.booking_form.realtor[i].checked)
	   {
	      var realtor = document.booking_form.realtor[i].value;
	      
	    }
	 }

	
	var listing_id = document.booking_form.listing_id.value;
	var first_name = document.booking_form.first_name.value;
	var last_name = document.booking_form.last_name.value;
	var email = document.booking_form.email.value;
	var telephone = document.booking_form.telephone.value;
	var comments = document.booking_form.comments.value;
	
	if(first_name.length==0)
	{
		alert("Please fill in your name");
		return false;
	}
	
	if(last_name.length==0)
	{
		alert("Please fill in your name");
		return false;
	}
	
	if(email.length==0)
	{
		alert("Please fill in your email");
		return false;
	}
	
	
	var url = dir_value+"actions.php";	
	var pars = "listing_id="+listing_id+"&first_name="+first_name+"&last_name="+last_name+"&email="+email+"&telephone="+telephone+"&date4="+date4+"&time="+time+"&realtor="+realtor+"&comments="+comments+"&action_list=send_booking_request";
	
	var myAjax = new Ajax.Request( url,
											{												
											  method: 'post',
											  parameters: pars										  								  
											}
								);
								
	hideBox_centered('overlay_main_page',"booking_request");
	
	alert("Your book appointment request has been received! Thank you!");
								
	return false;
}

function  submit_get_property_form()
{
	dir_value = '../../';
	
	var f = document.get_property_details_form_obj;
	
	var listing_id = f.listing_id.value;
	var first_name = f.first_name.value;
	var last_name = f.last_name.value;
	var email = f.email.value;
	var comments = f.comments.value;
	var captcha = f.captcha.value;
	
	if(first_name.length==0)
	{
		alert("Please fill in your name");
		return false;
	}
	
	if(last_name.length==0)
	{
		alert("Please fill in your name");
		return false;
	}
	
	if(email.length==0)
	{
		alert("Please fill in your email");
		return false;
	}
	
	if(captcha.length==0)
	{
		alert("Please fill in the image text");
		return false;
	}
	
	
	
	
	var url = dir_value+"actions.php";	
	var pars = "listing_id="+listing_id+"&first_name="+first_name+"&last_name="+last_name+"&email="+email+"&comments="+comments+"&action_list=get_property_details"+"&captcha="+captcha;
	
	var myAjax = new Ajax.Request( url,
											{												
											  method: 'post',
											  parameters: pars,
											   onComplete: submit_get_property_server_response									  								  
											}
								);
								
		
								
	return false;
}

function submit_get_property_server_response(originalRequest)
{
		Try.these(
			function () 
			{				
			//	document.getElementById("additional_resources_display_div").innerHTML = "aaa";
				var jsonObject = eval('(' + originalRequest.responseText + ')');

				
				
			//	document.getElementById("contact_details_content_message").innerHTML = "<b>"+jsonObject["object_data"]+"</b>";
				if(jsonObject["object_data_type"]==2)
				{
					hideBox_centered('overlay_main_page',"get_details_request");
	
					
				}
				
				alert(jsonObject["object_data"]);
				

			}//function ()	
	)
}

function submit_contact_form()
{
	
	dir_value = '../../';
	
	

	
	
	var first_name = document.contact_form_obj.first_name.value;
	var last_name = document.contact_form_obj.last_name.value;
	var your_email = document.contact_form_obj.your_email.value;
	var telephone_1 = document.contact_form_obj.telephone_1.value;
	var telephone_2 = document.contact_form_obj.telephone_2.value;
	var message = document.contact_form_obj.message.value;
	var captcha = document.contact_form_obj.captcha.value;
	
	
	
	if(first_name.length==0)
	{
		alert("Please fill in your name");
		return false;
	}
	
	if(last_name.length==0)
	{
		alert("Please fill in your name");
		return false;
	}
	
	if(your_email.length==0)
	{
		alert("Please fill in your email");
		return false;
	}
	
	if(message.length==0)
	{
		alert("Please fill in your message");
		return false;
	}
	
	
	var url = dir_value+"actions.php";	
	var pars = "first_name="+first_name+"&last_name="+last_name+"&your_email="+your_email+"&telephone_1="+telephone_1+"&telephone_2="+telephone_2+"&message="+message+"&captcha="+captcha+"&action_list=contact";
	
	var myAjax = new Ajax.Request( url,
											{												
											  method: 'post',
											  parameters: pars,
											   onComplete: contact_form_server_response									  								  
											}
								);
								
		
								
	return false;
}

function contact_form_server_response(originalRequest)
{
		Try.these(
			function () 
			{				
			//	document.getElementById("additional_resources_display_div").innerHTML = "aaa";
				var jsonObject = eval('(' + originalRequest.responseText + ')');

				
				
			//	document.getElementById("contact_details_content_message").innerHTML = "<b>"+jsonObject["object_data"]+"</b>";
				if(jsonObject["object_data_type"]==2)
				{
					hideBox_centered('overlay_main_page',"contact_form_content");
	
					
				}
				
				alert(jsonObject["object_data"]);
			}//function ()	
	)
}

function translate_the_div(lang,translation_div_name, original_div_name)
 {

  	 	
     	
     	var translation_div = document.getElementById(translation_div_name);
     	var original_div = document.getElementById(original_div_name);
   
   		var source = original_div.innerHTML;
   		var len = source.length;
   		

	   // Google Language API accepts 500 characters per request 
	   var words = 500;
	
	   // This is for English pages, you can change the
	   // sourcelang variable for other languages
	   var sourcelang = "en";
		translation_div.innerHTML = '';
		
	   for(i=0; i<=(len/words); i++) {
		
	     google.language.translate (source.substr(i*words, words),
	                 "en", lang, function (result) {
	                 
	     if (!result.error) 
	     {
	     	     translation_div.innerHTML   =  translation_div.innerHTML + result.translation; 
     	  
	    }
	     else
	    {
	    //	alert(result.error.message);
	    
	    }}); }  
	    
	    original_div.style.display = 'none';
	    translation_div.style.display = 'block';
 }
 
 function switch_original(translation_div_name, original_div_name)
 {
 		var translation_div = document.getElementById(translation_div_name);
 		translation_div.style.display = 'none';
     	var original_div = document.getElementById(original_div_name);
     	original_div.style.display = 'block';
 }
 
 
 function search_list()
 {
 	$('search_form').submit();
 	return false;
 }
 
 function change_search_details(site_location)
 {
 	var page = $('regions_select').value;
 	var arr_ids = page.split("-");
 	
 	window.location = site_location+"listings.php?city_id="+arr_ids[0]+"&region_id="+arr_ids[1];
 }
 
 function change_price_selection(sale_type)
 {
 	var price_filter_container = $('price_filter_container');
 	var url = "../actions.php";
		var pars = "action_list=price_filter_container&sale_type="+sale_type;
	

		var myAjax = new Ajax.Updater("price_filter_container", url,

											{
												
											  method: 'get',
											  parameters: pars
											  
											  
											}

								);	
		return false;
 	
 }