function Xajax(){this.workId='xajaxWork'+new Date().getTime();this.depth=0;this.getRequestObject=function(){var req;try{req=new ActiveXObject("Msxml2.XMLHTTP");}
catch(e){try{req=new ActiveXObject("Microsoft.XMLHTTP");}
catch(e2){req=null;}
}
if(!req&&typeof XMLHttpRequest!="undefined")
req=new XMLHttpRequest();return req;}
this.$=function(sId){return document.getElementById(sId);}
this.getFormValues=function(frm){var objForm;if(typeof(frm)=="string")
objForm=this.$(frm);else
objForm=frm;var sXml="<xjxquery><q>";if(objForm&&objForm.tagName=='FORM'){var formElements=objForm.elements;for(var i=0;i < formElements.length;i++){if((formElements[i].type=='radio'||formElements[i].type=='checkbox')&&formElements[i].checked==false)
continue;var name=formElements[i].name;if(name){if(sXml!='<xjxquery><q>')
sXml+='&';sXml+=name+"="+encodeURIComponent(formElements[i].value);}
}
}
sXml+="</q></xjxquery>";return sXml;}
this.objectToXML=function(obj){var sXml="<xjxobj>";for(i in obj){try{if(i=='constructor')
continue;if(obj[i]&&typeof(obj[i])=='function')
continue;var key=i;var value=obj[i];if(value&&typeof(value)=="object"&&
(value.constructor==Array
)&&this.depth <=50){this.depth++;value=this.objectToXML(value);this.depth--;}
sXml+="<e><k>"+key+"</k><v>"+value+"</v></e>";}
catch(e){}
}
sXml+="</xjxobj>";return sXml;}
this.call=function(sFunction,aArgs,sRequestType){var i,r,postData;var xajaxRequestType=sRequestType;var uri=xajaxRequestUri;var value;switch(xajaxRequestType){case 0:{var uriGet=uri.indexOf("?")==-1?"?xajax="+encodeURIComponent(sFunction):"&xajax="+encodeURIComponent(sFunction);for(i=0;i<aArgs.length;i++){value=aArgs[i];if(typeof(value)=="object")
value=this.objectToXML(value);uriGet+="&xajaxargs[]="+encodeURIComponent(value);}
uriGet+="&xajaxr="+new Date().getTime();uri+=uriGet;postData=null;}break;case 1:{postData="xajax="+encodeURIComponent(sFunction);postData+="&xajaxr="+new Date().getTime();for(i=0;i <aArgs.length;i++){value=aArgs[i];if(typeof(value)=="object")
value=this.objectToXML(value);postData=postData+"&xajaxargs[]="+encodeURIComponent(value);}
}break;default:
alert("Illegal request type: "+xajaxRequestType);return false;break;}
r=this.getRequestObject();r.open(xajaxRequestType==0?"GET":"POST",uri,true);if(xajaxRequestType==1){try{r.setRequestHeader("Method","POST "+uri+" HTTP/1.1");r.setRequestHeader("Content-Type","application/x-www-form-urlencoded");}
catch(e){alert("Your browser does not appear to  support asynchronous requests using POST.");return false;}
}
r.onreadystatechange=function(){if(r.readyState!=4){return;}
if(r.status==200){var data=r.responseXML;if(data)
xajax.processResponse(data);}
}
r.send(postData);delete r;return true;}
this.willChange=function(element,attribute,newData){var oldData;if(attribute=="innerHTML"){tmpXajax=this.$(this.workId);if(tmpXajax==null){tmpXajax=document.createElement("div");tmpXajax.setAttribute('id',this.workId);tmpXajax.style.display="none";tmpXajax.style.visibility="hidden";document.body.appendChild(tmpXajax);}
tmpXajax.innerHTML=newData;newData=tmpXajax.innerHTML;}
eval("oldData=document.getElementById('"+element+"')."+attribute);if(newData!=oldData)
return true;return false;}
this.processResponse=function(xml){var tmpXajax=null;xml=xml.documentElement;for(i=0;i<xml.childNodes.length;i++){if(xml.childNodes[i].nodeName=="alert"){if(xml.childNodes[i].firstChild)
alert(xml.childNodes[i].firstChild.nodeValue);}
if(xml.childNodes[i].nodeName=="jscript"){if(xml.childNodes[i].firstChild)
eval(xml.childNodes[i].firstChild.nodeValue);}
if(xml.childNodes[i].nodeName=="update"){var action;var element;var attribute;var search;var data;var type;var objElement;for(j=0;j<xml.childNodes[i].attributes.length;j++){if(xml.childNodes[i].attributes[j].name=="action"){action=xml.childNodes[i].attributes[j].value;}
}
var node=xml.childNodes[i];for(j=0;j<node.childNodes.length;j++){if(node.childNodes[j].nodeName=="target"){for(k=0;k<node.childNodes[j].attributes.length;k++){if(node.childNodes[j].attributes[k].name=="attribute"){attribute=node.childNodes[j].attributes[k].value;}
}
element=node.childNodes[j].firstChild.nodeValue;}
if(node.childNodes[j].nodeName=="search"){if(node.childNodes[j].firstChild)
search=node.childNodes[j].firstChild.nodeValue;else
search="";}
if(node.childNodes[j].nodeName=="data"){if(node.childNodes[j].firstChild)
data=node.childNodes[j].firstChild.nodeValue;else
data="";}
if(node.childNodes[j].nodeName=="type"){if(node.childNodes[j].firstChild)
type=node.childNodes[j].firstChild.nodeValue;else
type="";}
}
if(action=="assign"){if(this.willChange(element,attribute,data)){eval("document.getElementById('"+element+"')."+attribute+"=data;");}
}
if(action=="append")
eval("document.getElementById('"+element+"')."+attribute+"+=data;");if(action=="prepend")
eval("document.getElementById('"+element+"')."+attribute+"=data+document.getElementById('"+element+"')."+attribute);if(action=="replace"){eval("var v=document.getElementById('"+element+"')."+attribute);var v2=v.indexOf(search)==-1?v:"";while(v.indexOf(search)>-1){x=v.indexOf(search)+search.length+1;v2+=v.substr(0,x).replace(search,data);v=v.substr(x,v.length-x);}
if(this.willChange(element,attribute,v2))
eval('document.getElementById("'+element+'").'+attribute+'=v2;');}
if(action=="clear")
eval("document.getElementById('"+element+"')."+attribute+"='';");if(action=="remove"){objElement=this.$(element);if(objElement.parentNode&&objElement.parentNode.removeChild){objElement.parentNode.removeChild(objElement);}
}
if(action=="create"){var objParent=this.$(element);objElement=document.createElement(attribute);objElement.setAttribute('id',data);if(type&&type!='')
objElement.setAttribute('type',type);objParent.appendChild(objElement);if(objParent.tagName=="FORM"){}
}
}
}
}
}
var xajax=new Xajax();function xajax_customer_set_advanced_pricing(){xajax.call("customer_set_advanced_pricing",arguments,1);}
function xajax_customer_set_javascript(){xajax.call("customer_set_javascript",arguments,1);}
function xajax_saveProductInfo(){xajax.call("saveProductInfo",arguments,1);}
function xajax_cancelEditProducts(){xajax.call("cancelEditProducts",arguments,1);}
function xajax_changePrimary(){xajax.call("changePrimary",arguments,1);}
function xajax_refreshProduct(){xajax.call("refreshProduct",arguments,1);}
function xajax_resetProductInfo(){xajax.call("resetProductInfo",arguments,1);}
function xajax_products_hidden(){xajax.call("products_hidden",arguments,1);}
function xajax_sessionExpireProduct(){xajax.call("sessionExpireProduct",arguments,1);}
function xajax_deleteProduct(){xajax.call("deleteProduct",arguments,1);}
function xajax_cancelDeleteProduct(){xajax.call("cancelDeleteProduct",arguments,1);}
function xajax_editColorsDisplay(){xajax.call("editColorsDisplay",arguments,1);}
function xajax_editColorsCancel(){xajax.call("editColorsCancel",arguments,1);}
function xajax_editColorsSave(){xajax.call("editColorsSave",arguments,1);}
function xajax_saveSection(){xajax.call("saveSection",arguments,1);}
function xajax_showHideSection(){xajax.call("showHideSection",arguments,1);}
function xajax_cancelEditSection(){xajax.call("cancelEditSection",arguments,1);}
function xajax_resetSectionInfo(){xajax.call("resetSectionInfo",arguments,1);}
function xajax_sections_hidden(){xajax.call("sections_hidden",arguments,1);}
function xajax_removeImage(){xajax.call("removeImage",arguments,1);}
function xajax_addSectionImage(){xajax.call("addSectionImage",arguments,1);}
function xajax_finalizeRefreshProduct(){xajax.call("finalizeRefreshProduct",arguments,1);}
function xajax_finalizeChangePrimary(){xajax.call("finalizeChangePrimary",arguments,1);}
function xajax_pwShowColors(){xajax.call("pwShowColors",arguments,1);}
function xajax_pwShowProductList(){xajax.call("pwShowProductList",arguments,1);}
function xajax_pwShowProduct(){xajax.call("pwShowProduct",arguments,1);}
function xajax_pwUpdateProduct(){xajax.call("pwUpdateProduct",arguments,1);}
function xajax_pwUpdateControls(){xajax.call("pwUpdateControls",arguments,1);}
function xajax_cart_get_order_summary(){xajax.call("cart_get_order_summary",arguments,1);}
function xajax_cart_add_coupon(){xajax.call("cart_add_coupon",arguments,1);}
function xajax_cart_remove_coupon(){xajax.call("cart_remove_coupon",arguments,1);}
function xajax_cart_update_shipping_options(){xajax.call("cart_update_shipping_options",arguments,1);}
function xajax_cart_update_qty(){xajax.call("cart_update_qty",arguments,1);}
function xajax_showTemplateStyles(){xajax.call("showTemplateStyles",arguments,1);}
function xajax_saveName(){xajax.call("saveName",arguments,1);}
function xajax_cancelName(){xajax.call("cancelName",arguments,1);}
function xajax_save_image_info(){xajax.call("save_image_info",arguments,1);}
function xajax_cancel_image_info(){xajax.call("cancel_image_info",arguments,1);}
function xajax_saveBgColor(){xajax.call("saveBgColor",arguments,1);}
function xajax_getBgColors(){xajax.call("getBgColors",arguments,1);}
function xajax_clearBgColor(){xajax.call("clearBgColor",arguments,1);}
function xajax_saveImageSetName(){xajax.call("saveImageSetName",arguments,1);}
