function checkShipping(sButton){document.getElementById("checkShipping").value="Please Wait . . .";var result=ajax_callback({url:"/shippingRates.do",parameters:{},async:true,onsuccess:function(result){document.getElementById("checkShipping").value=result.replace(/\s+/g," ");}});}
function ajax_callback(option_override){var options={url:"",parameters:{},url_parameters:"",method:"POST",async:false,timeout:30,result_xml:false,eval_result:false,fail_on_string:true,execute_result:false,no_encode_param_list:"",onexception:function(exception,xmlhttp,options){alert("exception: "+exception);},onsuccess:function(value,xmlhttp,options){alert("success! "+value);},onfailure:function(xmlhttp,options){alert(xmlhttp.responseText);},onbegin:function(xmlhttp,options){},onend:function(xmlhttp,options){}}
for(var x in option_override){options[x]=option_override[x];}
var url_params="";var no_encode_param_array=options.no_encode_param_list.split(',');if(typeof options.parameters!="undefined"&&!options.url_parameters){for(var param_name in options.parameters){var param_value=encodeURIComponent(options.parameters[param_name]).replace(/%u[\d]{4}/g,"");for(var i=0;i<no_encode_param_array.length;++i){if(no_encode_param_array[i]==param_name){param_value=options.parameters[param_name];break;}}
url_params+="&"+param_name+"="+(param_value);}}else{url_params=options.url_parameters;}
options.url_parameters=url_params?url_params.replace(/^[&|\?]?/,""):null;var timeout_handle=null;var original_begin=options.onbegin;options.onbegin=function(xmlhttp,options){if(options.timeout){timeout_handle=window.setTimeout(function(){options.onfailure({responseText:"ajax_callback::callback timeout occurred"},options);},options.timeout*1000);}
original_begin(xmlhttp,options);}
var original_end=options.onend;options.onend=function(xmlhttp,options){if(timeout_handle){window.clearTimeout(timeout_handle);}
delete xmlhttp.onreadystatechange;original_end(xmlhttp,options);}
var original_fail=options.onfailure;options.onfailure=function(xmlhttp,options){return original_fail(xmlhttp,options);}
var original_success=options.onsuccess;options.onsuccess=function(value,xmlhttp,options){return original_success(value,xmlhttp,options);}
var original_exception=options.onexception;options.onexception=function(exception,xmlhttp,options){return original_exception(exception,xmlhttp,options);}
var xmlhttp=get_http_request();if(options.async){xmlhttp.onreadystatechange=function(){if(xmlhttp.readyState==4){options.onend(xmlhttp,options);try{var status=xmlhttp.status}catch(e){options.onexception(e,xmlhttp,options);}
if(status=="200"||status=="0"){if(options.eval_result){try{var text=xmlhttp.responseText.replace(/^\s+/,"");text=text.replace(/\s+$/,"");if(/^[{["'a-zA-Z0-9]/.test(text)){var value=eval("("+xmlhttp.responseText+")")
if(options.fail_on_string&&typeof value=="string"&&value.length){options.onfailure(xmlhttp,options);}else{options.onsuccess(value,xmlhttp,options);}}else{options.onfailure(xmlhttp,options);}}catch(e){options.onexception(e,xmlhttp,options);}}else{if(options.execute_result){try{eval(xmlhttp.responseText);}catch(e){options.onexception(e,xmlhttp,options);}}else if(options.result_xml){options.onsuccess(xmlhttp.responseXML,xmlhttp,options);}else{options.onsuccess(xmlhttp.responseText,xmlhttp,options);}}}
else{options.onfailure(xmlhttp,options);}}
else{}}}
if(options.method=="POST"){var data_length=options.url_parameters?options.url_parameters.length:0;xmlhttp.open("POST",options.url,options.async);xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");xmlhttp.setRequestHeader("Content-length",data_length);xmlhttp.setRequestHeader("Connection","close");options.onbegin(xmlhttp,options);xmlhttp.send(options.url_parameters?options.url_parameters:"");}else{if(options.url_parameters){var url_params="?"+options.url_parameters;}else{var url_params="";}
xmlhttp.open("GET",options.url+url_params,options.async);options.onbegin(xmlhttp,options);xmlhttp.send(null);}
if(!options.async){options.onend(xmlhttp,options);if(xmlhttp.readyState==4){try{var status=xmlhttp.status}catch(e){options.onexception(e,xmlhttp,options);}
if(status=="200"||status=="0"){if(options.eval_result){try{var value=eval("("+xmlhttp.responseText+")")
if(options.fail_on_string&&typeof value=="string"&&value.length){return options.onfailure(xmlhttp,options);}else{return value;}}catch(e){options.onexception(e,xmlhttp,options);}}else if(options.result_xml){return xmlhttp.responseXML;}else{return xmlhttp.responseText;}}
else{return options.onfailure(xmlhttp,options);}}
else{return options.onfailure(xmlhttp,options);}}
return null;}
ajax_callback.callback_sequence=0;function get_http_request(){try{return new ActiveXObject("Msxml2.XMLHTTP");}catch(e){try{return new ActiveXObject("Microsoft.XMLHTTP");}catch(e){try{return new XMLHttpRequest();}catch(e){try{return window.createRequest();}catch(e){alert("XMLHttpRequest is not supported by this browser.");return null;}}}}}
