// JavaScript Document
<!--
/**
*
*/
function sendInfoToSubmitLink(product_id, option_type_id, option_id, link_to_go_to) {
	if(window.XMLHttpRequest)
	{
		req = new XMLHttpRequest(); 	
	}
	else if (window.ActiveXObject)
	{
		req  = new ActiveXObject('Microsoft.XMLHTTP'); 
	}
	req.onreadystatechange = function()
	{ 
		if(req.readyState == 4)
		{ 
			if(req.status !== 200)
			{
				alert_contents = "Error: returned status <br />code " + req.status + " " + req.statusText;
			} 
			else 
			{
				// alert(link_to_go_to);
				document.location.href=link_to_go_to
			}
		} 
	};
	var path = "quickcheck.php?action=set_product_option&product_id=" + product_id + "&option_type_id=" + option_type_id + "&option_id=" + option_id;
	// alert(path);
	req.open("GET", path, true); 
	req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
	req.send(null); 
}
/**
*
*/
function sendInfoToSubmit(product_id, option_type_id, option_id)
{
	/*
	alert(product_id);
	alert(option_type_id);
	alert(option_id);
	*/
	if(window.XMLHttpRequest)
	{
		req = new XMLHttpRequest(); 	
	}
	else if (window.ActiveXObject)
	{
		req  = new ActiveXObject('Microsoft.XMLHTTP'); 
	}
	req.onreadystatechange = function()
	{ 
		if(req.readyState == 4)
		{ 
			if(req.status !== 200){
				alert_contents = "Error: returned status <br />code " + req.status + " " + req.statusText;
			}
		} 
	};
	var path = "quickcheck.php?action=set_product_option&product_id=" + product_id + "&option_type_id=" + option_type_id + "&option_id=" + option_id;
	// alert(path);
	req.open("GET", path , true); 
	req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
	req.send(null); 
}
/**
* Checks the number of options saved in the session for product_id against the total_required_options_for_id
* @param integer product_id
* @param integer total_required_options_for_id
*/
function checkForOptions(product_id, total_required_options_for_id) 
{
	/*
	alert('product_id: ' + product_id);
	alert('total_required_options_for_id: ' + total_required_options_for_id);
	*/
	if (total_required_options_for_id == '0') 
	{
		document.forms.addcart.submit();	
	} 
	else 
	{
		if(window.XMLHttpRequest)
		{
			req = new XMLHttpRequest(); 
		}
		else if (window.ActiveXObject)
		{
			req  = new ActiveXObject('Microsoft.XMLHTTP'); 
		}
		req.onreadystatechange = function()
		{ 
			if(req.readyState == 4)
			{ 
				if(req.status == 200)
				{
					option_count = req.responseText * 1;
					total_required_options_for_id = total_required_options_for_id * 1;
					
					//alert(option_count + '=' + total_required_options_for_id);
					if (option_count == total_required_options_for_id) 
					{
						document.forms.addcart.submit();
					} 
					else 
					{
						alert('Please choose the options for this item');
					}
				}
				else 
				{
					alert("Error: returned status <br />code " + req.status + " " + req.statusText);
				}
			} 
		};
		var path = "quickcheck.php?action=get_product_option&product_id=" + product_id;
		// alert(path);
		req.open("GET", path, true); 
		req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
		req.send(null); 
	}
}
/**
* Store all of the option_additional_price
*/
var option_additional_price=new Array();
/**
* swaps the product option images
* @param integer product_id
* @param integer option_type_id
* @param integer on_or_off
* @param float price_to_add
* @param integer option_id
*/
function swapProdOptionDivs(product_id, option_type_id, on_or_off, price_to_add, option_id) 
{
	if(product_id == undefined){ product_id = 0; }
	if(option_type_id == undefined){ option_type_id = 0; }
	if(price_to_add == undefined){ price_to_add = 0; }
	if(option_id == undefined){ option_id = 0; }
	/*
	alert(
		  '\nproduct_id: ' + product_id + 
		  '\noption_type_id: ' + option_type_id + 
		  '\non_or_off: ' + on_or_off + 
		  '\nprice_to_add: ' + price_to_add + 
		  '\noption_id: ' + option_id
	);
	*/
	edit_button = 'edit_button' + option_type_id; 
	swatches = 'swatches' + option_type_id; 
	if(on_or_off == 1) 
	{
		showBlock(edit_button);
		hideBlock(swatches);
		
		var option_type_value_obj = document.getElementById('option_type_value' + option_type_id);
		var current_price_value_obj = document.getElementById('current_price_value');
		var base_price_value_obj = document.getElementById('base_price_value');
		var price_obj = document.getElementById('price');
		/*
		alert(option_type_value_obj);
		alert(current_price_value_obj);
		alert(base_price_value_obj);
		alert(price_obj);
		*/
		/**
		* Get the base price (price without options)
		*/
		if(base_price_value_obj){
			var base_price = base_price_value_obj.value * 1;
		}
		else
		{
			var base_price = 0;	
		}
		/**
		* Get additional price of all items - global variable is changed for each option
		* @global option_additional_price
		*/
		option_additional_price[option_type_id] = price_to_add;
		var additional_price = 0;
		var temp_price = 0;
		for( var type_id in option_additional_price ) 
		{
			temp_price = option_additional_price[type_id] * 1;
			if(!isNaN(temp_price) && temp_price != undefined)
			{
				additional_price = additional_price + temp_price;
			}
		}
		/**
		* Calculate the adjusted price
		*/
		// alert(additional_price);
		var adjusted_base_price = base_price + additional_price;
		adjusted_base_price = adjusted_base_price.toFixed(2);	// convert to decimal
		if(current_price_value_obj)
		{
			current_price_value_obj.value = adjusted_base_price;
		}
		else
		{
			current_price_value_obj.value = base_price;
		}	
		/**
		* Adjust the option type value to the option_id
		*/
		if(option_type_value_obj)
		{
			option_type_value_obj.value = option_id;
		}
		/**
		* Write adjusted base price amount to the price display
		*/
		if(price_obj)
		{
			price_obj.innerHTML = '<strong>$' + adjusted_base_price + '<\/strong>'; 
		}
		else
		{
			price_obj.innerHTML = '<strong>$' + base_price + '<\/strong>'; 
		}		
	} 
	else 
	{
		hideBlock(edit_button);
		showBlock(swatches);
	}
	var cookie_name = 'item_options_array[' + product_id + '][' + option_type_id + ']';
	// alert('setting cookie (name : id): ' cookie_name + ' : ' + option_id);
	setCookie(cookie_name, option_id, exp);
}
/**
* Updates the selected option and price
* @param integer product_id
* @param integer option_type_id
* @param integer on_or_off
* @param float price_to_add
* @param integer option_id
*/
function updateOption(product_id, option_type_id, on_or_off, price_to_add, option_id) {
	if(product_id == undefined){ product_id = 0; }
	if(option_type_id == undefined){ option_type_id = 0; }
	if(price_to_add == undefined){ price_to_add = 0; }
	if(option_id == undefined){ option_id = 0; }
	/*
	alert(
		  '\nproduct_id: ' + product_id + 
		  '\noption_type_id: ' + option_type_id + 
		  '\non_or_off: ' + on_or_off + 
		  '\nprice_to_add: ' + price_to_add + 
		  '\noption_id: ' + option_id
	);
	*/
	price_to_add = price_to_add * 1;	// convert to integer
	if(on_or_off == 1) 
	{
		var option_type_value_obj = document.getElementById('option_type_value_' + option_type_id);
		var current_price_value_obj = document.getElementById('current_price_value');
		var base_price_value_obj = document.getElementById('base_price_value');
		var price_obj = document.getElementById('price');
		/*
		alert(option_type_value_obj);
		alert(current_price_value_obj);
		alert(base_price_value_obj);
		alert(price_obj);
		*/
		/**
		* Get the base price (price without options)
		*/
		if(base_price_value_obj){
			var base_price = base_price_value_obj.value * 1;
		}
		else
		{
			var base_price = 0;	
		}
		/**
		* Get additional price of all items - global variable is changed for each option
		* @global option_additional_price
		*/
		option_additional_price[option_type_id] = price_to_add;
		var additional_price = 0;
		var temp_price = 0;
		for( var type_id in option_additional_price ) 
		{
			temp_price = option_additional_price[type_id] * 1;
			if(!isNaN(temp_price) && temp_price != undefined)
			{
				additional_price = additional_price + temp_price;
			}
		}
		/**
		* Calculate the adjusted price
		*/
		// alert(additional_price);
		var adjusted_base_price = base_price + additional_price;
		adjusted_base_price = adjusted_base_price.toFixed(2);	// convert to decimal
		if(current_price_value_obj)
		{
			current_price_value_obj.value = adjusted_base_price;
		}
		else
		{
			current_price_value_obj.value = base_price;
		}
		/**
		* Adjust the option type value to the option_id
		*/
		if(option_type_value_obj)
		{
			option_type_value_obj.value = option_id;
		}
		/**
		* Write adjusted base price amount to the price display
		*/
		if(price_obj)
		{
			price_obj.innerHTML = '<label>Our Price<span class=\'Small\'> (with Selected Options)<\/span>:</label> <strong>$' + adjusted_base_price + '<\/strong>'; 
		}
		else
		{
			price_obj.innerHTML = '<label>Our Price<span class=\'Small\'> (with Selected Options)<\/span>:</label> <strong>$' + base_price + '<\/strong>'; 
		}		
	} 
	/**
	* Save Cookie
	*/
	var cookie_name = 'options_array[' + product_id + '][' + option_type_id + ']';
  	setCookie(cookie_name, option_id, exp);
}


/**
* Sets the base price (used for packs?!)
*
* @depreciated
*/
function setBasePrice(new_price)
{
	/*
	var base_price_value_obj = document.getElementById('base_price_value');
	var price_obj = document.getElementById('price');
	
	base_price_value_obj.value = new_price;

	var base_price = new_price;
	var additional_price = 0;
	for( var type_id in option_additional_price ) 
	{
		additional_price = additional_price + option_additional_price[type_id] * 1;
	} 

	var adjusted_base_price = base_price + additional_price;
	adjusted_base_price = adjusted_base_price.toFixed(2);

	price_obj.innerHTML = '$<strong>' + adjusted_base_price + '<\/b>';
	*/
}
/**
*
*/
function switchWillCall()
{
  if(document.checkoutform.willcall.options[1].selected == true) {
	show('will_call_price');
	show('will_call_info');
	show('grand_total_will_call');
	show('purchase_memo_will_call');
	hide('ship_price');
	hide('shipping_address');
	hide('order_grand_total');
	hide('purchase_memo');
		
  } else {
	hide('will_call_price');
	hide('will_call_info');
	hide('grand_total_will_call');
	hide('purchase_memo_will_call');
	show('ship_price');
	show('shipping_address');
	show('order_grand_total');
	show('purchase_memo');
  }
}
/**
*
*/
function fillLoupe(loupe_number, new_image, html_to_write) {
	var loupeName = 'loupe' + loupe_number; 
	var loupe_HTML = 'loup_desc' + loupe_number; 
	document[loupeName].src=new_image;
	loupe_html_obj = document.getElementById(loupe_HTML)
	loupe_html_obj.innerHTML = html_to_write;
}
/**
*
*/
function clearLoupe(loupe_number) {
	var loupeName = 'loupe' + loupe_number;
	var loupe_HTML = 'loup_desc' + loupe_number; 
	document[loupeName].src='media/shop/blank.gif';
	loupe_html_obj = document.getElementById(loupe_HTML)
	loupe_html_obj.innerHTML = '';
}
//-->