Code:
var xHRObject = false;
if (window.ActiveXObject) {
xHRObject = new ActiveXObject("Microsoft.XMLHTTP");
}
else if (window.XMLHttpRequest){
xHRObject = new XMLHttpRequest();
}
var indicator_url = 'images/web_images/indicator.gif';
function getData() {
if (xHRObject.readyState == 4 && xHRObject.status == 200) {
var serverResponse = xHRObject.responseXML;
if (serverResponse != null) {
var itemsNode = serverResponse.getElementsByTagName('items');
if (itemsNode.length > 0) {
var attribute = itemsNode[0].attributes[0].value;
if (attribute == 'loadImages') {
$('image_nav_container').empty();
var item_node = serverResponse.getElementsByTagName('item');
var total_image = item_node.length;
var images_array = new Array();
var num_image_displayed = $('ais_image_num').getProperty('value');
for (i=0; i< total_image; i++) {
var image_array = get_image_array(item_node[i]);
images_array[i] = image_array;
}
var image_viewer = new ImageViewer('image_medium_container', 'image_nav_container', images_array, num_image_displayed, {
small_container_width : $('ais_small_container_width').getProperty('value'),
small_container_height : $('ais_small_container_height').getProperty('value'),
scroll_size : $('ais_scroll_size').getProperty('value')
});
}
}
}
}
}
function get_image_array(itemNode) {
var image_ids_node = itemNode.getElementsByTagName('image_id');
var image_paths_small_node = itemNode.getElementsByTagName('image_path_small');
var image_width_small_node = itemNode.getElementsByTagName('image_width_small');
var image_height_small_node = itemNode.getElementsByTagName('image_height_small');
var image_paths_medium_node = itemNode.getElementsByTagName('image_path_medium');
var image_width_medium_node = itemNode.getElementsByTagName('image_width_medium');
var image_height_medium_node = itemNode.getElementsByTagName('image_height_medium');
var image_paths_large_node = itemNode.getElementsByTagName('image_path_large');
var image_width_large_node = itemNode.getElementsByTagName('image_width_large');
var image_height_large_node = itemNode.getElementsByTagName('image_height_large');
var image_titles_node = itemNode.getElementsByTagName('image_title');
var image_array = new Array();
var i = 0;
if (window.ActiveXObject) {
image_array['image_id'] = image_ids_node[i].text;
image_array['image_path_small'] = image_paths_small_node[i].text;
image_array['image_width_small'] = image_width_small_node[i].text;
image_array['image_height_small'] = image_height_small_node[i].text;
image_array['image_path_medium'] = image_paths_medium_node[i].text;
image_array['image_width_medium'] = image_width_medium_node[i].text;
image_array['image_height_medium'] = image_height_medium_node[i].text;
image_array['image_path_large'] = image_paths_large_node[i].text;
image_array['image_width_large'] = image_width_large_node[i].text;
image_array['image_height_large'] = image_height_large_node[i].text;
image_array['image_title'] = image_titles_node[i].text;
}
else {
image_array['image_id'] = image_ids_node[i].textContent;
image_array['image_path_small'] = image_paths_small_node[i].textContent;
image_array['image_width_small'] = image_width_small_node[i].textContent;
image_array['image_height_small'] = image_height_small_node[i].textContent;
image_array['image_path_medium'] = image_paths_medium_node[i].textContent;
image_array['image_width_medium'] = image_width_medium_node[i].textContent;
image_array['image_height_medium'] = image_height_medium_node[i].textContent;
image_array['image_path_large'] = image_paths_large_node[i].textContent;
image_array['image_width_large'] = image_width_large_node[i].textContent;
image_array['image_height_large'] = image_height_large_node[i].textContent;
image_array['image_title'] = image_titles_node[i].textContent;
}
return image_array;
}
function loadImages() {
products_id = $('products_id').getProperty('value');
var img_indicator = new Element('img', {
'src' : indicator_url,
'class' : 'indicator_image'
});
$('image_medium_container').empty();
img_indicator.injectInside($('image_medium_container'));
if ($('opt_id_used')) {
var opt_id_used = $('opt_id_used').getProperty('value');
}
else {
var opt_id_used = '';
}
if (opt_id_used !== '') {
//combo box
if ($('attrib-' + opt_id_used)) {
var option_used = $('attrib-' + opt_id_used);
var options_values_id = option_used.getProperty('value');
option_used.addEvent('change', loadImages);
}
//radio button
else {
//var option_used = document.forms['cart_quantity'].elements['id[' + opt_id_used + ']'];
var all_inputs = $$('input');
var option_used = new Array();
var counter_opt = 0;
for (var i=0; i < all_inputs.length; i++) {
var match_me = 'attrib-' + opt_id_used;
if ( all_inputs[i].getProperty('id') != null && all_inputs[i].getProperty('id').match(match_me) != null) {
var used_input = all_inputs[i];
option_used[counter_opt] = used_input;
counter_opt++;
}
}
var options_values_id = getCheckedValue(option_used);
if (options_values_id == '') {
options_values_id = option_used[0].getProperty('id').replace('attrib-' + opt_id_used + '-', '');
}
for (var i=0;i<option_used.length;i++) {
option_used[i].addEvent('click', loadImages);
}
}
submit_values('AJAX_servers/AJAX_image_swapper_server.php', ['action', 'products_id', 'options_id', 'options_values_id', 'id'], ['loadImages', products_id, opt_id_used, options_values_id, Number(new Date)]);
}
else {
submit_values('AJAX_servers/AJAX_image_swapper_server.php', ['action', 'products_id', 'id'], ['loadImages', products_id, Number(new Date)]);
}
}
// return the value of the radio button that is checked
// return an empty string if none are checked, or
// there are no radio buttons
function getCheckedValue(radioObj) {
if(!radioObj) {
alert('1');
return "";
}
var radioLength = radioObj.length;
if(radioLength == undefined)
if(radioObj.checked)
return radioObj.value;
else
return "";
for(var i = 0; i < radioLength; i++) {
if(radioObj[i].checked) {
return radioObj[i].value;
}
}
return "";
}
//example: submit_values('AJAX_servers/AJAX_image_swapper_server.php', ['action', 'new_order','new_title','image_id', 'option_id', 'id'], ['update', new_order, new_title, image_id, option_id, Number(new Date)]);
function submit_values(url, key_list, value_list) {
var url_string = '';
for(var i=0; i<key_list.length;i++) {
if (i > 0) {
url_string += '&' + key_list[i] + '=' + value_list[i];
}
else {
url_string += key_list[i] + '=' + value_list[i];
}
}
if (window.ActiveXObject) {
xHRObject.open("GET", url + "?" + url_string, true);
xHRObject.onreadystatechange = getData;
}
else if (window.XMLHttpRequest) {
xHRObject.onreadystatechange = getData;
xHRObject.open("GET", url + "?" + url_string, true);
}
xHRObject.send(null);
}
would it be worth installing and reinstalling the image swapper?