/*-----------------------------------------------------------------------------

 * Visual Product Options - Javascript Functions

 *-----------------------------------------------------------------------------

 * ems_visual_options.js

 *-----------------------------------------------------------------------------

 * Author:   Estelle Winterflood

 * Email:    cubecart@expandingbrain.com

 * Website:  http://cubecart.expandingbrain.com

 *

 * Date:     October 14, 2007

 * Updated:  March 17, 2009

 * Compatible with CubeCart Version:  4.x.x

 *-----------------------------------------------------------------------------

 * SOFTWARE LICENSE AGREEMENT:

 * You must own a valid license for this modification to use it on your

 * CubeCart™ store. Licenses for this modification can be purchased from

 * Estelle Winterflood using the URL above. One license permits you to install

 * this modification on a single CubeCart installation only. This non-exclusive

 * license grants you certain rights to use the modification and is not an

 * agreement for sale of the modification or any portion of it. The

 * modification and accompanied documentation may not be sublicensed, sold,

 * leased, rented, lent, or given away to another person or entity. This

 * modification and accompanied documentation is the intellectual property of

 * Estelle Winterflood.

 *-----------------------------------------------------------------------------

 * DISCLAIMER:

 * The modification is provided on an "AS IS" basis, without warranty of

 * any kind, including without limitation the warranties of merchantability,

 * fitness for a particular purpose and non-infringement. The entire risk

 * as to the quality and performance of the Software is borne by you.

 * Should the modification prove defective, you and not the author assume 

 * the entire cost of any service and repair. 

 *-----------------------------------------------------------------------------

 */



/* These are the javascript functions called from viewProdOptions.tpl */



function vo_radio_onmousedown(option_id, class_name_unselected) {

	var prev_assign_id = determine_selected_assign_id('productOptions_'+option_id);

	apply_class_to_div('po_div_'+prev_assign_id, class_name_unselected);

}

function vo_radio_onclick(assign_id, class_name_selected) {

	apply_class_to_div('po_div_'+assign_id, class_name_selected);

}

function vo_link_onclick(option_id, assign_id, class_name_unselected, class_name_selected) {

	var prev_assign_id = determine_selected_assign_id('productOptions_'+option_id);

	apply_class_to_div('po_div_'+prev_assign_id, class_name_unselected);

	apply_class_to_div('po_div_'+assign_id, class_name_selected);

	select_radio('po_'+option_id+'_'+assign_id);

}

function vo_switch_main_image(option_id) {

	var e = [];

	e[0] = document.getElementsByName('productOptions_'+option_id);

	var selected_assign_id = vpo_gv(e);

	var img = document.getElementById('MainProdImage');

	if (img && arr_vo_images && arr_vo_images[selected_assign_id]) {

		img.src = arr_vo_images[selected_assign_id];

	}

}



/* Private functions */



function vpo_gv(o){var a = [];for(var i=0; i<o.length; ++i) {for(var j=0; o[i] && j<o[i].length; ++j) {if (o[i][j].options)a.push(o[i][j].options[o[i][j].selectedIndex].value);else if (o[i][j].checked)a.push(o[i][j].value);else if (o[i][j].length) {for(var k=0; o[i][j] && k<o[i][j].length; ++k) {if (o[i][j][k].options)a.push(o[i][j][k].options[o[i][j][k].selectedIndex].value);else if (o[i][j][k].checked)a.push(o[i][j][k].value);}}}}return a;}



function determine_selected_assign_id(radio_element_name) {

	var e = [];

	e[0] = document.getElementsByName(radio_element_name);

	var selected_assign_id = vpo_gv(e);

	return selected_assign_id;

}



function select_radio(radio_element_id) {

	var e = document.getElementById(radio_element_id);

	if (e) {

		e.checked = true; 

	}

}



function apply_class_to_div(div_element_id, class_name) {

	var d = document.getElementById(div_element_id);

	if (d) {

		d.className = class_name;

	}

}




