var ajaxCallOn = 0; var ajaxCallOff = 0; var maintainanceArr = new Array(); function encodeStr(str){ if(isNaN(str) && !isArray(str)) { str = str.replace(/&/g, '##AND##'); str = str.replace(/=/g, '##EQUAL##'); str = str.replace('?', '##QUESTION##'); str = str.replace('%', '##PERCENT##'); } return str; } function decodeStr(str){ str = str.replace('##AND##', '&'); str = str.replace('##EQUAL##', '='); str = str.replace('##QUESTION##', '?'); str = str.replace('##PERCENT##', '%'); return str; } function AjaxInit(){ var AjaxObj = false; if(window.XMLHttpRequest){ AjaxObj = new XMLHttpRequest(); }else if(window.ActiveXObject){ AjaxObj=new ActiveXObject("Msxml2.XMLHTTP"); if (!AjaxObj){ AjaxObj=new ActiveXObject("Microsoft.XMLHTTP"); } } return(AjaxObj); } function ajaxVars(){ this.vars = new Array(); this.fnVars = new Array(); this.dbVars = new Array(); this.sendMethod = 'POST'; this.gotoFunction = ''; this.xmlData = ''; this.status = 'loadingDiv'; this.AjaxPostSQL = AjaxPostSQL; this.createData = createData; this.errorData = errorData; this.sqlTracer = sqlTracer; this.xmlOpener = xmlOpener; this.maintainance = maintainance; this.externalErrors = externalErrors; this.phpFile = "/lib/ajax_shop.data.php"; } function AjaxPostSQL(){ var pageUrl = this.phpFile; if(pageUrl.indexOf('?') < 0) { pageUrl += '?'; }else{ pageUrl += '&'; } pageUrl += 'random=' + Math.random(); var queryStr = '&dbVars=' + this.dbVars; for(key in this.vars){ queryStr += '&' + key + '=' + encodeStr(this.vars[key]); } if(this.sendMethod == 'GET') { pageUrl += queryStr; } var Ajax = AjaxInit(); try{ var callObj = this; Ajax.open(this.sendMethod, pageUrl); Ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8'); str = ''; for(key in Ajax) { str += key + "\n"; } Ajax.onreadystatechange = function(){ var loadingObj = document.getElementById(callObj.status); if (Ajax.readyState == 4 && Ajax.status == 200) { if(loadingObj){ loadingObj.innerHTML = 'Done.'; } handleAjax(Ajax, callObj); }else if(Ajax.readyState == 1){ if(loadingObj){ loadingObj.innerHTML = 'Connecting to server. Please wait...'; } }else if(Ajax.readyState < 4){ if(loadingObj){ loadingObj.innerHTML = 'Loading data. Please wait...'; } }else{ var statusLostObj = document.getElementById('statusLost'); if(statusLostObj){ statusLostObj.style.visibility = 'visible'; statusLostObj.style.display = 'block'; } } } Ajax.send(queryStr); } catch(e){ alert('Error: Unable to contact the server.'); } } function handleAjax(Ajax, callObj){ var response = Ajax.responseXML.documentElement; var dataObj = response.getElementsByTagName('row'); var errorObj = response.getElementsByTagName('sqlerror'); var textObj = response.getElementsByTagName('textdata'); switch(callObj.vars['action']) { case "update": case "modify": if(Ajax.responseText.indexOf('maintainance()') >= 0){ callObj.maintainance(); break; } } dataArr = callObj.createData(dataObj,textObj); callObj.errorData(errorObj, dataObj, textObj); callObj.xmlData = Ajax.responseText; var xmlLinkObj = document.getElementById('xmlLink'); if(xmlLinkObj) { xmlLinkObj.href = "javascript:void(0);"; xmlLinkObj.mainObj = callObj; xmlLinkObj.onclick = function(e) { var hiddenObj = document.getElementById('xmlajaxdata'); hiddenObj.value = this.mainObj.xmlData; this.mainObj.xmlOpener(); } } eval(callObj.gotoFunction + '(dataArr, callObj.fnVars)'); } function createData(rowObj, textObj){ if(rowObj.length > 0) { var str = ''; var dataArr = new Array(); var str = ''; for(var i=0; i 0) { var errLen = errorTags.length; for(var i=0; i 0){ newData = decodeStr(newData); } divObj.innerHTML = newData; } function change_password(){ var frmObj = document.forgotpassword; var ajaxVar = new ajaxVars(); ajaxVar.vars['action'] = "runFunction"; ajaxVar.vars['func'] = "saveNewPassword"; ajaxVar.vars['password'] = frmObj.new_password.value; ajaxVar.gotoFunction = 'showforgotResponse'; ajaxVar.AjaxPostSQL(); } function validate_forgotpassword(){ var frmObj = document.forgotpassword; var errmsg = ""; if(frmObj.new_password.value==""){ errmsg += "New Password\n"; } if(frmObj.confirm_new_password.value==""){ errmsg += "Confirm Password\n"; } if(frmObj.new_password.value!="" && frmObj.confirm_new_password.value!="" ){ if(frmObj.new_password.value != frmObj.confirm_new_password.value){ errmsg += "Passsword Mismatch\n"; } } if(errmsg){ msg = "Following fields are empty or not entered correctly:"; alert(msg + '\n\n' + errmsg); }else{ change_password(); } } function showshipResponse(data){ var newData = data; var data_val = newData.split('###'); var divObj1 = document.getElementById('shoppingcost_value'); var divObj2 = document.getElementById('main_val_total'); var divObj3 = document.getElementById('vat_total_val'); var divObj4 = document.getElementById('order_total'); divObj1.innerHTML = data_val[0]; divObj2.innerHTML = data_val[1]; divObj3.innerHTML = data_val[2]; divObj4.innerHTML = data_val[3]; } function change_shoppingcost(totl,shopping_val){ var ajaxVar = new ajaxVars(); ajaxVar.vars['action'] = "runFunction"; ajaxVar.vars['func'] = "ShippingCost"; ajaxVar.vars['Shopping_value'] = shopping_val; ajaxVar.vars['total_amt'] = totl; ajaxVar.gotoFunction = 'showshipResponse'; ajaxVar.AjaxPostSQL(); }