function createRequestObject() { var req; if (window.XMLHttpRequest) { req = new XMLHttpRequest(); } else if (window.ActiveXObject) { try { req = new ActiveXObject('Msxml2.XMLXTTP'); } catch(err) { req = new ActiveXObject('Microsoft.XMLHTTP'); } } return req; } //shouldn't use global variable, because we will have multiple functions trying to use it //var http = createRequestObject(); function ajaxSubConfiguration(option_id, selected_item_id, quantity) { var http = createRequestObject(); var status_cage = "status_cage"+option_id; var message = "Please wait, checking for more options..."; try { document.getElementById(status_cage).innerHTML = message; } catch (e) { var wrapper = document.createElement('div'); wrapper.innerHTML = message; document.getElementById(status_cage).innerHTML = ""; document.getElementById(status_cage).appendChild(wrapper); } http.open('get', '/scripts/site/site_configure.php?action=sub_configuration&option_id='+option_id+'&selected_item_id='+selected_item_id+'&qty='+quantity); http.onreadystatechange = function() { if (http.readyState == 4) { if (http.status == 200) { var response = http.responseText; var results; // alert('response: '+response); results = response.split("#cage#"); if (results && results.length == 2 && results[0] != "") { try { document.getElementById(results[0]).innerHTML = results[1]; document.getElementById(status_cage).innerHTML = ""; } catch (e) { var wrapper = document.createElement('div'); wrapper.innerHTML = results[1]; document.getElementById(results[0]).innerHTML = ""; document.getElementById(results[0]).appendChild(wrapper); wrapper.innerHTML = ""; document.getElementById(status_cage).innerHTML = ""; document.getElementById(status_cage).appendChild(wrapper); } } } } } http.send(null); } function ajaxConfigureSubConfiguration(parent_component_id, parent_option_id, parent_choice_id) { var http = createRequestObject(); var form_name = "configure"; var data = ""; var match; for (i=0; i<(document.forms[form_name].elements.length-1); i++) { match = document.forms[form_name].elements[i].name.search('option'); if (match != -1) { data += document.forms[form_name].elements[i].name+"_"+document.forms[form_name].elements[i].value; if (i+2 < document.forms[form_name].elements.length) { data += "*"; } } match = document.forms[form_name].elements[i].name.search('final'); if (match != -1) { data += document.forms[form_name].elements[i].name+"_"+document.forms[form_name].elements[i].value; if (i+2 < document.forms[form_name].elements.length) { data += "*"; } } } // alert(data); http.open('get', '/scripts/site/site_configure.php?action=configure&component_id='+parent_component_id+'&parent_option_id='+parent_option_id+'&parent_choice_id='+parent_choice_id+'&data='+data); http.onreadystatechange = function() { if (http.readyState == 4) { if (http.status == 200) { var response = http.responseText; var half; var first_results; var second_results; // alert('response: '+response); half = response.split("#cage2#"); if (half.length == 2) { // alert('half: '+half[0]); // alert('half: '+half[1]); first_results = half[0].split("#cage#"); second_results = half[1].split("#cage#"); } else { first_results = response.split("#cage#"); } if (first_results && first_results.length == 2 && first_results[0] != "") { //alert('first div: '+first_results[0]); //alert('first data: '+first_results[1]); document.getElementById(first_results[0]).innerHTML = first_results[1]; } if (second_results && second_results.length == 2 && second_results[0] != "") { //alert('second div: '+second_results[0]); //alert('second data: '+second_results[1]); document.getElementById(second_results[0]).innerHTML = second_results[1]; } } } } http.send(null); } function ajaxResetConfiguration(option_id) { var http = createRequestObject(); http.open('get', '/scripts/site/site_configure.php?action=reset_configuration&option_id='+option_id); http.onreadystatechange = function() { if (http.readyState == 4) { if (http.status == 200) { var response = http.responseText; var results; // alert('response: '+response); results = response.split("#cage#"); if (results && results.length == 2 && results[0] != "") { try { document.getElementById(results[0]).innerHTML = results[1]; } catch (e) { var wrapper = document.createElement('div'); wrapper.innerHTML = results[1]; document.getElementById(results[0]).innerHTML = ""; document.getElementById(results[0]).appendChild(wrapper); } } } } } http.send(null); }