// Vendor Related Javascript Functions
var lv_radio_button_id;
var reception_radio_button_id;
var honeymoon_radio_button_id;
var category_select_id;
var loading_div_id;

var search_type_default;
var category_default;
var search_type_radio_buttons_exist = 1;

function populate_local_vendor_categories()
{
	if(search_type_radio_buttons_exist == 1)
	{
		if(document.getElementById(lv_radio_button_id).checked == true)
		{
			if(document.getElementById(country_select_id).value == 'US' || document.getElementById(country_select_id).value == 'CA')
			{
				if(document.getElementById(city_text_box_id).value != '')
				{
					//Text Box City Was Used
					var city_chosen = document.getElementById(city_text_box_id).value;
				}
				else
				{
					//City Drop Down was used
					var city_chosen = document.getElementById(city_select_id).value;
				}
		
				if (!isNaN(city_chosen))
				{
					//Verify City Code
					if(!check_zip_code_validity(city_chosen))
					{
						//ZipCode is Invalid
						is_error = 1;
						msg = 'The Postal Code you have entered is invalid.<br>';
					}
				}
				else
				{
					//Validate CIty and State
					if(!check_valid_state_and_city(city_chosen, document.getElementById(state_select_id).value))
					{
						//Invalid City State
						is_error = 1;
						msg = 'The City/State combination you have entered is invalid.<br>';
					}
				}
				
				if(is_error == 0)
				{
					var form_element = document.getElementById(category_select_id);
					get_ajax('/includes/ajax_data_servers/localvendorcatgegories.xml.php?country=' + URLEncode(document.getElementById(country_select_id).value) + '&state=' + URLEncode(document.getElementById(state_select_id).value) + '&city=' + URLEncode(city_chosen), 'GET', false);
				
								   
					if(num_of_records > 0)
					{
						var old_value = form_element.value;
						clear_select_options(category_select_id);
						form_element.disabled = false;
						form_element.options[0] = new Option('- Select -','');
						
						for (var i = 0; i < num_of_records; i++) {
							addSelectOption(form_element, get_xml_field('categoryname', i), get_xml_field('categoryid', i));
						}
						set_selected_index(form_element, old_value);
					}
					else
					{
						disable_and_clear_category();
						is_error = 1;
						msg = 'There are currently no vendors to display in your targeted area.<br>';
						show_error();
					}
				}
				else
				{
					disable_and_clear_category();
					show_error();
				}
			}
			else
			{
				//Choose International Raise Error
				disable_and_clear_category();
				is_error = 1;
				msg = 'Local Vendor\'s are only available for US and Canada.<br>';
				show_error();
			}
		}
		hide_div_layer(loading_div_id);
	}
	else
	{
		populate_local_vendor_categories_without_radio();	
	}
}

function populate_local_vendor_categories_without_radio()
{

	if(document.getElementById(city_text_box_id).value != '')
	{
		//Text Box City Was Used
		var city_chosen = document.getElementById(city_text_box_id).value;
	}
	else
	{
		//City Drop Down was used
		var city_chosen = document.getElementById(city_select_id).value;
	}

	if(city_chosen.length > 0)
	{
		if (!isNaN(city_chosen))
		{
			//Verify City Code
			if(!check_zip_code_validity(city_chosen))
			{
				//ZipCode is Invalid
				is_error = 1;
				msg = 'The Postal Code you have entered is invalid.<br>';
			}
		}
		else
		{
			//Validate CIty and State
			if(document.getElementById(state_select_id).value != 'HI')
			{
				if(!check_valid_state_and_city(city_chosen, document.getElementById(state_select_id).value))
				{
					//Invalid City State
					is_error = 1;
					msg = 'The City/State combination you have entered is invalid.<br>';
				}
			}
		}
	}

	if(is_error == 0 && city_chosen.length > 0)
	{
		var form_element = document.getElementById(category_select_id);
		get_ajax('/includes/ajax_data_servers/localvendorcatgegories.xml.php?country=' + URLEncode(document.getElementById(country_select_id).value) + '&state=' + URLEncode(document.getElementById(state_select_id).value) + '&city=' + URLEncode(city_chosen), 'GET', false);
		
		if(num_of_records > 0)
		{
			var old_value = form_element.value;
			clear_select_options(category_select_id);
			form_element.disabled = false;
			form_element.options[0] = new Option('- Select -','');
			
			for (var i = 0; i < num_of_records; i++) {
				addSelectOption(form_element, get_xml_field('categoryname', i), get_xml_field('categoryid', i));
			}
			set_selected_index(form_element, old_value);
		}
		else
		{
			clear_cat_drop_down();
			is_error = 1;
			msg = 'There are currently no vendors to display in your targeted area.<br>';
		}
	}
	else
	{
		clear_cat_drop_down();
	}
	
	if(is_error == 1)
	{
		show_error();
	}

	hide_div_layer(loading_div_id);
}


function populate_local_vendor_categories_with_variables(city, state, country)
{
	if(city.length > 0)
	{
		if (!isNaN(city))
		{
			//Verify City Code
			if(!check_zip_code_validity(city))
			{
				//ZipCode is Invalid
				is_error = 1;
				msg = 'The Postal Code you have entered is invalid.<br>';
			}
		}
		else
		{
			//Validate CIty and State
			if(state != 'HI')
			{
				if(!check_valid_state_and_city(city, state))
				{
					//Invalid City State
					is_error = 1;
					msg = 'The City/State combination you have entered is invalid.<br>';
				}
			}
		}
	}

	if(is_error == 0 && city.length > 0)
	{
		var form_element = document.getElementById(category_select_id);
		get_ajax('/includes/ajax_data_servers/localvendorcatgegories.xml.php?country=' + URLEncode(country) + '&state=' + URLEncode(state) + '&city=' + URLEncode(city), 'GET', false);
		
		if(num_of_records > 0)
		{
			var old_value = form_element.value;
			clear_select_options(category_select_id);
			form_element.disabled = false;
			form_element.options[0] = new Option('- Select -','');
			
			for (var i = 0; i < num_of_records; i++) {
				addSelectOption(form_element, get_xml_field('categoryname', i),get_xml_field('categoryid', i));
			}
			set_selected_index(form_element, old_value);
		}
		else
		{
			clear_cat_drop_down();
			is_error = 1;
			msg = 'There are currently no vendors to display in your targeted area.<br>';
		}
	}
	else
	{
		clear_cat_drop_down();
	}
	
	if(is_error == 1)
	{
		show_error();
	}

	hide_div_layer(loading_div_id);
}

function clear_cat_drop_down()
{
	var form_element = document.getElementById(category_select_id);
	clear_select_options(category_select_id);
	form_element.options[0] = new Option('- Select -','');
	form_element.disabled = true;
}

function disable_and_clear_category()
{
	var form_element = document.getElementById(category_select_id);
	clear_select_options(category_select_id);
	form_element.options[0] = new Option('- Select -','');
	form_element.disabled = true;
	document.getElementById(lv_radio_button_id).checked = false;
}

function populate_vendor_with_pre_loading()
{
	show_div_layer(loading_div_id);
	setTimeout("populate_local_vendor_categories()",600);
}

function check_if_region_criteria_has_changed()
{
	if(document.getElementById(lv_radio_button_id).checked == true)
	{
		if(document.getElementById(city_text_box_id).value != '')
		{
			//Text Box City Was Used
			var city_chosen = document.getElementById(city_text_box_id).value;
		}
		else
		{
			//City Drop Down was used
			var city_chosen = document.getElementById(city_select_id).value;
		}
		
		if(get_session_var('vendor_country_search') != document.getElementById(country_select_id).value || get_session_var('vendor_state_search') != document.getElementById(state_select_id).value || get_session_var('vendor_city_search') != city_chosen)
		{
			populate_vendor_with_pre_loading();
		}
	}
}

function populate_local_vendor_all_categories(category_select_id)
{
	var form_element = document.getElementById(category_select_id);
	get_ajax('/includes/ajax_data_servers/all_local_vendor_catgegories.xml.php', 'GET', false);

	var old_value = form_element.value;
	clear_select_options(category_select_id);
	form_element.disabled = false;
	form_element.options[0] = new Option('- Select -','');
	
	for (var i = 0; i < num_of_records; i++) {
		addSelectOption(form_element, get_xml_field('categoryname', i), get_xml_field('categoryid', i));
	}
}
