Event.observe(window, 'load', load_product_sizes);
Event.observe(window, 'load', load_shopping_cart_summary);

function load_shopping_cart_summary ()
{
	$('frag_shopping_cart_summary').innerHTML = $('cart_summary_loading_indicator').innerHTML;

	response = new Ajax.Updater('frag_shopping_cart_summary', '/load.php', 
								{ evalJSON: true, sanitizeJSON: true, 
								  parameters: 
 								  { 
								  	method: 'load_shopping_cart_secondary_summary'
								  } });
}  // end function load_shopping_cart_summary.


function load_product_photo ()
{
	$('frag_photo').innerHTML = $('photo_loading_indicator').innerHTML;
	var size = '';
	var color = '';
	if ( $('size') ) var size = $('size').value;
	if ( $('color') ) var color = $('color').value;
	
	response = new Ajax.Updater('frag_photo', '/load.php', 
								{ evalJSON: true, sanitizeJSON: true, 
								  parameters: 
 								  { 
								  	method: 'load_product_photo', 
									model_id : model_id,
									size: size,
									color: color
								  },
								  onComplete:load_product_price
								   });
}  // end function load_product_photo.


function load_product_price ()
{
	callback_hide_general_errors ( 'store_apparel_error_general' );
	$('frag_price').innerHTML = $('price_loading_indicator').innerHTML;
	
	var size = '';
	var color = '';
	if ( $('size') ) var size = $('size').value;
	if ( $('color') ) var color = $('color').value;

	response = new Ajax.Updater('frag_price', '/load.php', 
								{ evalJSON: true, sanitizeJSON: true, 
								  parameters: 
 								  { 
								  	method: 'load_product_price', 
									model_id : model_id,
									color: color,
									size: size
								  } });
}  // end function load_product_price.






function load_product_colors ()
{
	callback_hide_general_errors ( 'store_apparel_error_general' );
	$('frag_color').innerHTML = $('color_loading_indicator').innerHTML;
	var size = '';
	if ( $('size') ) var size = $('size').value;

	response = new Ajax.Updater('frag_color', '/load.php', 
								{ evalJSON: true, sanitizeJSON: true, 
								  parameters: 
 								  { 
								  	method: 'load_product_colors', 
									model_id : model_id,
									size: size
								  } });
}  // end function load_product_colors.



function load_product_sizes ()
{
	var color = '';
	if ( $('color') ) var color = $('color').value;

	response = new Ajax.Updater('frag_size', '/load.php', 
								{ evalJSON: true, sanitizeJSON: true, 
								  parameters: 
 								  { 
								  	method: 'load_product_sizes', 
									model_id : model_id,
									color: color
								  } });
}  // end function load_product_sizes.













// *********************************************************************************
//								GET PRODUCT ID
// *********************************************************************************
function get_product_id ()
{
	submit_button_processing_on ( 'add_to_cart_button', 'Adding to cart...' );
	callback_hide_general_errors ( 'store_apparel_error_general' );
	
	var s_size = '';
	if ( $('size') ) var s_size = $('size').value;
	
	var s_color = '';
	if ( $('color' ) ) var s_color = $('color').value;
	
	
	var param_hash = new Hash ();
	param_hash.set ( 'method', 'get_product_id' );
	param_hash.set ( 'model_id', $('model_id').value );
	param_hash.set ( 'size', s_size );
	param_hash.set ( 'color', s_color );
	
	new Ajax.Request( absolute_link_path + 'ajax.php', 
	{	
		method: "post",
		parameters: $H(param_hash),
		onSuccess: get_product_id_callback,
		onFailure: errback_global
	});  // end Ajax.Request.
}  // end function get_product_id.

function get_product_id_callback ( oReq, json )
{
	if ( oReq.responseJSON.status == 'success' )
	{
		var i_model_id = $('model_id').value;
		add_to_order ( i_model_id, oReq.responseJSON.data['product_id']);
	}
	else
	{
		callback_show_general_errors ( 'store_apparel_error_general', oReq );
	}
	submit_button_processing_off ( 'add_to_cart_button', 'Add to cart' );
}  // end function get_product_id_callback.





// *********************************************************************************
//									ADD TO ORDER
// *********************************************************************************
function add_to_order ( arg_model_id, arg_product_id )
{
	callback_hide_general_messages ( 'store_message_general' );
	callback_hide_general_errors ( 'store_apparel_error_general' );
	submit_button_processing_on ( 'add_to_cart_button', 'Adding to cart...' );
	
	var param_hash = new Hash ();
	param_hash.set ( 'method', 'add_to_order' );
	param_hash.set ( 'model_id', arg_model_id );
	param_hash.set ( 'product_id', arg_product_id );
	
	new Ajax.Request( absolute_link_path + 'ajax.php', 
	{	
		method: "post",
		parameters: $H(param_hash),
		onSuccess: add_to_order_callback,
		onFailure: errback_global
	});  // end Ajax.Request.
}

function add_to_order_callback ( oReq, json )
{
	ajax_require_logged_in ( oReq.responseJSON.status );
	if ( oReq.responseJSON.status == 'success' )
	{
		$('header_shopping_link').innerHTML = oReq.responseJSON.data['store_number_products'] + ' items in cart';
		//$('order_header').style.display = 'block';
		callback_show_general_messages ('store_message_general', oReq);
		load_shopping_cart_summary();
	}
	else
	{
		callback_show_general_errors ( 'store_error_general', oReq );
	}
	submit_button_processing_off ( 'add_to_cart_button', 'Add to cart' );
}










