// JavaScript Document


function switch_options()
{
	tab_containerAccessories_pointer = document.getElementById('tab_containerAccessories');
	
	//controllers pointers
	var product_sides = getPropertyValue('product_sides', 'product_options');
	var product_dimensions = getPropertyValue('product_dimensions', 'product_options');
		//if custom dimensions
		var product_dim1 = getPropertyValue('product_dim1', 'product_options');
		var product_dim2 = getPropertyValue('product_dim2', 'product_options');
		var product_dim3 = getPropertyValue('product_dim3', 'product_options');
	var product_color = getPropertyValue('product_color', 'product_options');
	var product_endcaps = getPropertyValue('product_endcaps', 'product_options');
	var product_firerated = getPropertyValue('product_firerated', 'product_options');
	var selection_group = getPropertyValue('selection_group', 'product_options');
	var selection_group_id = getPropertyValue('selection_group_id', 'product_options');
	var sg_scheme = getPropertyValue('sg_scheme', 'product_options');
	
	var cart_model_pointer = document.getElementById('model');
	
	//areas pointers
	var specs_na_pointer = document.getElementById('specs_na');

	//loader animation
	var ajax_loader_animation = '<img src="images/ajax/ajax-loader.gif">';
	
	//display specs pointers
	var specs_tab_title_model_pointer = document.getElementById("specs_tab_title_model");
	
	// values are replaced with animation
	var product_option_selectors_model_span_pointer = document.getElementById("product_option_selectors_model_span");
	var display_model_tr_pointer = document.getElementById("getspecs_model_tr");
	var display_model_span_pointer = document.getElementById("getspecs_model_span");
	product_option_selectors_model_span_pointer.innerHTML = ajax_loader_animation;
	display_model_span_pointer.innerHTML = ajax_loader_animation;
	
	var display_outer_dimensions_tr_pointer = document.getElementById("getspecs_outer_dimensions_tr");
	var display_outer_dimensions_span_pointer = document.getElementById("getspecs_outer_dimensions_span");
	display_outer_dimensions_span_pointer.innerHTML = ajax_loader_animation;

	var display_inner_dimensions_tr_pointer = document.getElementById("getspecs_inner_dimensions_tr");
	var display_inner_dimensions_span_pointer = document.getElementById("getspecs_inner_dimensions_span");
	display_inner_dimensions_span_pointer.innerHTML = ajax_loader_animation;
	
	var display_weight_tr_pointer = document.getElementById("getspecs_weight_tr");
	var display_weight_span_pointer = document.getElementById("getspecs_weight_span");
	display_weight_span_pointer.innerHTML = ajax_loader_animation;
	
	var display_product_color_name_tr_pointer = document.getElementById("getspecs_product_color_name_tr");
	var display_product_color_name_span_pointer = document.getElementById("getspecs_product_color_name_span");
	display_product_color_name_span_pointer.innerHTML = ajax_loader_animation;
	
	var display_endcaps_name_tr_pointer = document.getElementById("getspecs_endcaps_name_tr");
	var display_endcaps_name_span_pointer = document.getElementById("getspecs_endcaps_name_span");
	display_endcaps_name_span_pointer.innerHTML = ajax_loader_animation;

	var display_ships_from_tr_pointer = document.getElementById("getspecs_ships_from_tr");
	var display_ships_from_span_pointer = document.getElementById("getspecs_ships_from_span");
	display_ships_from_span_pointer.innerHTML = ajax_loader_animation;
	
	var display_line_production_time_tr_pointer = document.getElementById("getspecs_line_production_time_tr");
	var getspecs_line_production_time_title_pointer = document.getElementById("getspecs_line_production_time_title"); // title that says "Production time"
	var display_line_production_time_span_pointer = document.getElementById("getspecs_line_production_time_span");
	display_line_production_time_span_pointer.innerHTML = ajax_loader_animation;
	
	//switch image
	var select_image_pointer = document.getElementById('select_image');
	
	//firerated && color
	if (product_firerated != -1 && selection_group_id != 3 && selection_group_id != 6)
	{
		var firerated0_pointer = document.getElementById('firerated0');
		var firerated1_pointer = document.getElementById('firerated1');
		var firerated_warning_pointer = document.getElementById('firerated_warning');
		
		if (product_color == 1) // unfinished
		{
			firerated1_pointer.disabled = true;
			firerated0_pointer.checked = true;
			product_firerated = 0;
			firerated_warning_pointer.style.display = "none";
		}
		else
		{
			firerated1_pointer.disabled = false;
			firerated_warning_pointer.style.display = "";
		}
		
	}
	
	//price pointer
	var display_price_pointer = document.getElementById('display_price');
	var display_price_backup_pointer = document.getElementById('display_price_backup');
	
	
	//alert(product_sides + ' ' + product_dimensions + ' ' + product_color + ' //// ' + product_firerated);
	
	var XMLHttpRequestObject = false;
	if (window.XMLHttpRequest) XMLHttpRequestObject = new XMLHttpRequest();
	else if (window.ActiveXObject) XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
		
	if (XMLHttpRequestObject)
	{
		XMLHttpRequestObject.open("POST", 'includes/products/ajax/get_values_ajax.php');
		XMLHttpRequestObject.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		
		XMLHttpRequestObject.onreadystatechange = function()
		{
			if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200)
			{
				//if unable to find, show n/a screen
				
				var xmlDocument = XMLHttpRequestObject.responseXML;
				var option_array = xmlDocument.getElementsByTagName("option");
				
				var obtained_result = option_array[0].firstChild.data; // 0 = fail, 1 = success
				
				if (obtained_result == 1) // able to get values
				{
					//show/hide appropriate fields
					specs_na_pointer.style.display = 'none';

					//model
					var display_model = option_array[1].firstChild.data;
					if (display_model != -1)
					{
						display_model_tr_pointer.style.display = '';
						display_model_span_pointer.innerHTML = display_model;
						product_option_selectors_model_span_pointer.innerHTML = display_model;
						cart_model_pointer.value = display_model;
						
						var specs_tab_title_model_pointer = document.getElementById("specs_tab_title_model");
						specs_tab_title_model_pointer.innerHTML = display_model;
					}
					else { display_model_tr_pointer.style.display = 'none'; }

					//outer
					var display_outer_dimensions = option_array[4].firstChild.data;
					if (display_outer_dimensions != -1)
					{ display_outer_dimensions_tr_pointer.style.display = ''; display_outer_dimensions_span_pointer.innerHTML = display_outer_dimensions; }
					else { display_outer_dimensions_tr_pointer.style.display = 'none'; }

					//inner
					var display_inner_dimensions = option_array[5].firstChild.data;
					if (display_inner_dimensions != -1)
					{ display_inner_dimensions_tr_pointer.style.display = ''; display_inner_dimensions_span_pointer.innerHTML = display_inner_dimensions; }
					else { display_inner_dimensions_tr_pointer.style.display = 'none'; }

					//weight
					var display_weight = option_array[6].firstChild.data;
					if (display_weight != -1)
					{ display_weight_tr_pointer.style.display = ''; display_weight_span_pointer.innerHTML = display_weight + ' lbs'; }
					else { display_weight_tr_pointer.style.display = 'none'; }

					//color name
					var display_product_color_name = option_array[8].firstChild.data;
					if (display_product_color_name != -1) { display_product_color_name_tr_pointer.style.display = ''; display_product_color_name_span_pointer.innerHTML = display_product_color_name; }
					else { display_product_color_name_tr_pointer.style.display = 'none'; }

					//endcaps name
					var display_endcaps_name = option_array[10].firstChild.data;
					if (display_endcaps_name != -1) { display_endcaps_name_tr_pointer.style.display = ''; display_endcaps_name_span_pointer.innerHTML = display_endcaps_name; }
					else { display_endcaps_name_tr_pointer.style.display = 'none'; }
					
					//ships from
					var display_ships_from = option_array[17].firstChild.data;
					if (display_ships_from != -1)
					{ display_ships_from_tr_pointer.style.display = ''; display_ships_from_span_pointer.innerHTML = display_ships_from; }
					else { display_ships_from_tr_pointer.style.display = 'none'; }
					
					//production time
					var display_line_production_time = option_array[13].firstChild.data;
					if (display_line_production_time != -1)
					{
						display_line_production_time_tr_pointer.style.display = ''; display_line_production_time_span_pointer.innerHTML = display_line_production_time;
						if (display_line_production_time.length > 20) getspecs_line_production_time_title_pointer.className = 'lgray specLineName';
						else getspecs_line_production_time_title_pointer.className = 'specLineName';
					}
					else { display_line_production_time_tr_pointer.style.display = 'none'; }
					
					
					//specs fields
					var display_product_firerated = option_array[14].firstChild.data;
					var display_accessories = option_array[15].firstChild.data; //accessoroes
					var display_sides = option_array[11].firstChild.data;
					var display_endcaps = option_array[9].firstChild.data;
					var display_product_color_id = option_array[7].firstChild.data;					
					var display_price = option_array[2].firstChild.data;
					var display_price_backup = option_array[3].firstChild.data;
					var switch_image_source = option_array[16].firstChild.data;
					
					//accessories
					document.getElementById('accessory_items').value = display_accessories;

					//new source for image
					select_image_pointer.src = 'img_c/' + selection_group + '/image_switch/' + switch_image_source + '.jpg';
					
					//reload accessories
					document.getElementById('accessory_reloaded').value = 0;
					if (tab_containerAccessories_pointer.innerHTML.length < 70) // if accessories tab selected, reload it
					{
						reload_accessories();
						document.getElementById('accessory_reloaded').value = 1;
					}

					
					if (display_price < display_price_backup) // if there is a sale
					{
						display_price_pointer.innerHTML = '$' + number_format(display_price_backup) + ' each';
						display_price_pointer.style.textDecoration = 'line-through';
						display_price_backup_pointer.innerHTML = '<br>$' + number_format(display_price) + ' each';
					}
					else // regular price
					{
						display_price_pointer.innerHTML = '$' + number_format(display_price) + ' each';
						display_price_pointer.style.textDecoration = 'none';
						display_price_backup_pointer.innerHTML = '';
					}

				}
				else // unable to get values
				{
					specs_na_pointer.style.display = '';
				}
			}
		}
		XMLHttpRequestObject.send('product_dimensions=' + product_dimensions +
								  '&product_endcaps=' + product_endcaps +
								  '&product_color=' + product_color +
								  '&product_firerated=' + product_firerated +
								  '&selection_group=' + selection_group +
								  '&selection_group_id=' + selection_group_id +
								  '&sg_scheme=' + sg_scheme +
								  '&product_dim1=' + product_dim1 +
								  '&product_dim2=' + product_dim2 +
								  '&product_dim3=' + product_dim3 +
								  '&product_sides=' + product_sides);
	}
	//getPropertyValue(elementNameOrId, formName);
}





function clear_select_options(selectPointer)
{
	for (i = selectPointer.length; i >= 0; i--)
	{
		selectPointer[i] = null;
	}
}

function add_select_option(selectPointer, OptionValue, OptionText)
{
   // Add option to the bottom of the list
   selectPointer[selectPointer.length] = new Option(OptionText, OptionValue);
}


function switch_dimensions() //reloads dimensions dropdown based on number of sides
{
	var product_sides = getPropertyValue('product_sides', 'product_options');
	var selection_group_id = getPropertyValue('selection_group_id', 'product_options');
	
	if (product_sides != -1)
	{
		//send values to script, get field HMTL and paste it into old one
		

		var XMLHttpRequestObject = false;
		if (window.XMLHttpRequest) XMLHttpRequestObject = new XMLHttpRequest();
		else if (window.ActiveXObject) XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
		
		if (XMLHttpRequestObject)
		{
			XMLHttpRequestObject.open("POST", 'includes/elements/customselect/customselect_ajax.php');
			XMLHttpRequestObject.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		
			XMLHttpRequestObject.onreadystatechange = function()
			{
				if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200)
				{
					var response = XMLHttpRequestObject.responseText;
					var b = response.split(/\<\/?script[^\<]*\>/i)[1];
					eval(b);

					document.getElementById("dimensionsHTML").innerHTML = response;
					switch_options();
				}
			}
			XMLHttpRequestObject.send('selection_group_id=' + selection_group_id + '&product_sides=' + product_sides);
		}
	}
	
}