// JavaScript Document
// Talino Corporation

/**
 * Initialization of Pages
 */
function init_page()
{
	
//	alert('init_page called');
	process_image_list();
	restore_blocks();
//	alert('td_hide_imgnav_block: ' + td_hide_imgnav_block);
	if(td_hide_imgnav_block)
	{
//		alert('hide me 01');
		hide_imgnav_block();
	}
}

/**
 * Hide the image navigation block
 */
function hide_imgnav_block()
{
	if(document.getElementById)
	{
		var td_imgnav_block = document.getElementById('td_imgnav_wrapper');
		if(td_imgnav_block != null)
		{
//			alert('hide me 02');
			var td_purchase_01 = document.getElementById('td_purchase_button_01').style;
		
			td_purchase_01.display = "none";
			var td_purchase_02 = document.getElementById('td_purchase_button_02');
			td_purchase_02.style.display = "none";
			
			var td_imgnav = td_imgnav_block.style;
			td_imgnav.display = "none";
		}
	}

}

/**
 * Load arrays with image and product codes
 */
function load_arrays()
{
	var td_array = new Array();
	var td_line_array = new Array();
	var td_product_sku_array = new Array();
	var td_product_type_array = new Array();
	var td_image_set_array = new Array();
	
	td_product_type_array = [td_image_set_array];
	td_product_sku_array = [td_product_type_array];
	td_line_array = [td_product_sku_array];
	td_array = [td_line_array];
	
}

/**
 * de/activates the correct image
 */
function restore_blocks()
{
	if(td_activate_menu)
	{
		var td_gallery = document.getElementById(td_activate_gallery).style;
		td_gallery.display = "block";
		if(td_activate_product == false)
		{
			return false;
		}
		else
		{
			if(td_activate_product!=false)
			{
				var td_element = document.getElementById(td_activate_product).style;
				td_element.display = "block";
			}
		}
		return false;
/*		}
		else
		{
			
			return true;
		} */
	} 
	return true;
}

/**
 * Make an element visible again
 */
function revisible(td_block)
{
	if(document.getElementById)
	{
		var td_element = document.getElementById(td_block).style;
		if(td_element.display == "block")
		{
			td_element.display = "none";	
		}
		else
		{
			td_element.display = "block";
		}
		return false;
	} 
	else 
	{
		return true;
	}
}

/**
 * This function is called everytime a user clicks on a thumbnail.
 * Replace image based on thumbnail selected. Everytime a thumbnail is selected,
 * the purchase button HREF address must be changed. Display the medium sized photo
 * (using the default if a regular image is not available).
 */
function reimage(tdBlock)
{
//	alert('block: ' + tdBlock.getAttribute('tdimageset'));
	// Get the image set then pad the SKU and Underscore to match td_image_array style.
	var td_orig_set = tdBlock.getAttribute('tdimageset');
//	alert('Block clicked is: ' + td_orig_set);
	var tdImageSet = td_product_sku + '_' + td_orig_set;
	var td_image_block = document.getElementById('td_main_img');
	if(td_image_block)
	{
		// DEFAULT VALUES ARE LOADED FIRST, AND THEN OVERRIDDEN IF PRODUCT ALTERNATIVE IMAGES ARE AVAILABLE.
		var td_href = td_img_array.defaultAddr.defaultSet.norm; // use default if all else fails.
		if(td_img_array[td_product_line][tdImageSet]) // check if there is an image entry
		{
			var td_image_name= td_img_array[td_product_line][tdImageSet]['norm'];
			if(td_image_name) //check if a matching name is found
			{
				var tdImageDir = td_img_array[td_product_line]['defaultDir']['prefixUrl'];
				td_href = tdImageDir + '/'+ td_image_name; // form the new URL
			}
		}
		td_image_block.src = td_href;
		td_image_block.setAttribute('tdimageset', td_orig_set); //reset the image of the main image block.
	}
	
	
	var td_image_attr = td_orig_set;
	

	var tdPurchase01 = document.getElementById('td_purchase_button_01');
	if(tdPurchase01)
	{
		set_link_reference(tdPurchase01, td_image_attr);	
	}
	
	var tdPurchase02 = document.getElementById('td_purchase_button_02');
	if(tdPurchase02)
	{
		set_link_reference(tdPurchase02, td_image_attr);	
	}
	
	var tdPurchase03 = document.getElementById('td_purchase_button_03');
	if(tdPurchase03)
	{
		set_link_reference(tdPurchase03, td_image_attr);	
	}
		
//	alert('image block now: ' + td_image_block.getAttribute('tdimageset'));
}

function reset_purchase_blocks(td_image_attr)
{
	var tdPurchase01 = document.getElementById('td_purchase_button_01');
	if(tdPurchase01)
	{
		set_link_reference(tdPurchase01, td_image_attr);	
	}
	
	var tdPurchase02 = document.getElementById('td_purchase_button_02');
	if(tdPurchase02)
	{
		set_link_reference(tdPurchase02, td_image_attr);	
	}
	
	var tdPurchase03 = document.getElementById('td_purchase_button_03');
	if(tdPurchase03)
	{
		set_link_reference(tdPurchase03, td_image_attr);	
	}
}
/**
 * DEPRECATED
 */
function OLD_reimage(td_img_name, td_image_source)
{
//	alert('source: ' + td_image_source);
	if(document.images)
	{
		document.images[td_img_name].src = td_image_source;
//		alert ('reset: ' + document.images[td_img_name].src);
		return true;
	}
	else
	{
		return false;
	}
}

function switch_portrait()
{
	var td_image_block = document.getElementById('td_main_img');
	var td_href = td_img_array.defaultAddr.defaultSet.large;
	if(td_image_block)
	{
		var td_orig_set = td_image_block.getAttribute('tdimageset');
		var tdImageSet = td_product_sku + '_' + td_orig_set;	
		if(td_img_array[td_product_line][tdImageSet])
		{
			var tdImageDir = td_img_array[td_product_line]['defaultDir']['prefixUrl'];
			var td_image_file = td_img_array[td_product_line][tdImageSet]['large'];
			var td_image_text = td_img_array[td_product_line][tdImageSet]['caption'];
			
			var td_image_url = tdImageDir + '/' + td_image_file;
//			alert('switch: '+ td_image_url + ' -- ' + td_image_text);
			//id="td_portrait_image
//			var td_portrait_image_block = document.getElementById('td_portrait_image');
			switch_portrait_blocks(td_image_url, td_image_text);
		}
	}
}

function switch_portrait_blocks(td_image_source, td_image_text)
{
//	alert('portrait:' + document.images[td_portrait_imageblock].src);
	if(document.getElementById)
	{
		var td_element1 = document.getElementById(td_portrait_background).style;
		var td_element2 = document.getElementById(td_portrait_foreground).style;
		var td_element3 = document.getElementById(td_portrait_textblock).firstChild;
		var td_element4 = document.getElementById(td_portrait_imageblock).src;
		
		if(td_element1.display == "block")
		{
			td_element1.display = "none";	
			td_element2.display = "none";	
			td_element3.nodeValue = td_image_text;
			return false;
		}
		else
		{
			td_element1.display = "block";
			td_element2.display = "block";
			td_element3.nodeValue = td_image_text;
			document.images[td_portrait_imageblock].src = td_image_source;
			return true;
		}
	}
}

/**
 * Initiates loading of images from the defined array
 */
function process_image_list() 
{
//	var td_image_array = init_load_array();
	init_load_array();
	if (td_activate_menu)
	{
		load_images();
	}
//	alert('end-of-test' );
}


/**
 * Update the default images in the original page loaded, to the values provided 
 * in the image array.
 */
function load_images()
{
	/* NEXT THING TO DO. 
	- GET PURCHASE BUTTON. GET PRODUCT LINE.
	- GET IMAGE BLOCKS 01-05. WHEN NULL, NO OPERATION.
	- SUBSTITUTE SRC PARAMETERS FOR IMG BLOCKS
	- IF IMG BLOCK PRESENT BUT NO ARRAY ENTRY, THEN DEFAULT IT TO THE DEFAULT SET.
	*/
	var tdar = new Array();
	if(document.getElementById)
	{
		tdar.purchase01 = document.getElementById('td_purchase_button_01');
		if(tdar.purchase01!= null)
		{
			tdar.purchase02  =document.getElementById('td_purchase_button_02');
			tdar.purchase03  =document.getElementById('td_purchase_button_03');
			tdar.imageNormal = document.getElementById('td_main_img');
			tdar.set01 = document.getElementById('td_image_small_01');
			tdar.set02 = document.getElementById('td_image_small_02');
			tdar.set03 = document.getElementById('td_image_small_03');
			tdar.set04 = document.getElementById('td_image_small_04');
			tdar.set05 = document.getElementById('td_image_small_05');
			check_image_blocks(tdar);
//			tdar.productline = tdar.purchase01.tdproductline;
//			_load_link_elements(tdar);	
		}
	}
	
}

/**
 *
 */
function check_image_blocks(tdar)
{
//	td_product_line = tdar.purchase01.getAttribute('tdproductline');
	
	// Process Normal Image
	if(tdar.imageNormal)
	{
		set_image_source(tdar.imageNormal, 'norm');
	}
	
	
	if(tdar.set01) 
	{
		set_image_source(tdar.set01, 'thumb');
	}
	
	if(tdar.set02) 
	{
		set_image_source(tdar.set02, 'thumb');
	}
	
	if(tdar.set03) 
	{
		set_image_source(tdar.set03, 'thumb');
	}
	if(tdar.set04) 
	{
		set_image_source(tdar.set04, 'thumb');
	}
	if(tdar.set05) 
	{
		set_image_source(tdar.set05, 'thumb');
	}
	
	var td_image_attr = 'SET01'; //ALWAYS DEFAULT TO THE FIRST SET
	var tdPurchase01 = document.getElementById('td_purchase_button_01');
	// Set the HREF link references
	if(tdPurchase01)
	{
		set_link_reference(tdPurchase01, td_image_attr);	
	}
	
	var tdPurchase02 = document.getElementById('td_purchase_button_02');
	if(tdPurchase02)
	{
		set_link_reference(tdPurchase02, td_image_attr);	
	}
	
	var tdPurchase03 = document.getElementById('td_purchase_button_03');
	if(tdPurchase03)
	{
		set_link_reference(tdPurchase03, td_image_attr);	
	}
	
}

/**
 * Create the images array. Note that:
 *    'td_product_line' is set in each of the individual html pages.
 *    'tdImageSet' is actually an attribute in the DIV of the html page.
 */
function set_image_source(td_thumbnail_set, tdImageSize)
{
	var tdImageSet = td_product_sku + '_' + td_thumbnail_set.getAttribute('tdimageset');
	/** 
	 * Check if there is an image array set for the product line. If not, then use 
	 * the default.
	 */
	if(td_img_array[td_product_line][tdImageSet])
	{
//		alert('check set entry in array: TRUE');
		var tdImageName= td_img_array[td_product_line][tdImageSet][tdImageSize];
		if(tdImageName)
		{
			var tdImageNormalName = td_img_array[td_product_line][tdImageSet]['norm'];
			var tdImageDir = td_img_array[td_product_line]['defaultDir']['prefixUrl'];
			td_thumbnail_set.src = tdImageDir + '/'+ tdImageName;
		}
		else
		{
			var td_defaultSet = td_img_array.defaultAddr.defaultSet;
			td_thumbnail_set.src = td_defaultSet[tdImageSize];
//			td_thumbnail_set.src = td_img_array.defaultAddr.defaultSet.thumb;
		}
	}
	else
	{
//		alert('check set entry in array: FALSE');		
		var td_defaultSet = td_img_array.defaultAddr.defaultSet;
		td_thumbnail_set.src = td_defaultSet[tdImageSize];
//		td_thumbnail_set.src = td_img_array.defaultAddr.defaultSet.thumb;
	}
}

/**
 *
 */
function set_link_reference(tdPurchaseButton, td_image_attr)
{
//	var tdProductLine = tdPurchaseButton.getAttribute('tdproductline');
	var tdImageSet = td_product_sku + '_' + td_image_attr;
	var tdHref = td_img_array.eternity.defaultStore.prefixUrl;
	if(td_img_array[td_product_line][tdImageSet])
	{
		tdHref = td_img_array[td_product_line][tdImageSet]['store'];
	}
	tdPurchaseButton.href = tdHref;
	tdPurchaseButton.setAttribute('tdimageset', td_image_attr);
//	alert('purchase href: ' + tdPurchaseButton.href);
}




