/* * This code is copyright (c) Internet Business Solutions SL, all rights reserved. * The contents of this file are protected under law as the intellectual property * of Internet Business Solutions SL. Any use, reproduction, disclosure or copying * of any kind without the express and written permission of Internet Business * Solutions SL is forbidden. * Author: Vince Reid, vincereid@gmail.com * * Date: 2018-10-19 */ var oversldiv; var gtid; function displaysavelist(el,evt,twin){ oversldiv=false var theevnt=(!evt)?twin.event:evt;//IE:FF var sld=document.getElementById('savelistdiv'); var parentdiv=el.parentNode; parentdiv.insertBefore(sld,parentdiv.firstChild); sld.style.visibility="visible"; setTimeout('checksldiv()',2000); return(false); } function checksldiv(){ var sld=document.getElementById('savelistdiv'); if(! oversldiv) sld.style.visibility='hidden'; } var notifystockid; var notifystocktid; var notifystockoid; var nsajaxobj; function notifystockcallback(){ if(nsajaxobj.readyState==4){ var rstxt=nsajaxobj.responseText; if(rstxt!='SUCCESS')alert(rstxt);else alert(xxInStNo); closeinstock(); } } function regnotifystock(){ var regex=/[^@]+@[^@]+\.[a-z]{2,}$/i; var theemail=document.getElementById('nsemailadd'); if(!regex.test(theemail.value)){ alert(xxValEm); theemail.focus(); return(false); }else{ nsajaxobj=window.XMLHttpRequest?new XMLHttpRequest():new ActiveXObject("MSXML2.XMLHTTP"); nsajaxobj.onreadystatechange=notifystockcallback; nsajaxobj.open("GET", "vsadmin/ajaxservice."+extensionabs+"?action=notifystock&pid="+encodeURIComponent(notifystockid)+'&tpid='+encodeURIComponent(notifystocktid)+'&oid='+encodeURIComponent(notifystockoid)+'&email='+encodeURIComponent(theemail.value),true); nsajaxobj.send(null); } } function closeinstock(){ document.getElementById('notifyinstockcover').style.display='none'; } function notifyinstock(isoption,pid,tpid,oid){ if(globalquickbuyid!=='') closequickbuy(globalquickbuyid); notifystockid=pid; notifystocktid=tpid; notifystockoid=oid; document.getElementById('notifyinstockcover').style.display=''; return false; } var globallistname=''; function subformid(tid,listid,listname){ if(document.getElementById('ectform'+tid).listid)document.getElementById('ectform'+tid).listid.value=listid; globallistname=listname; if(usehardaddtocart){ var tform=document.getElementById('ectform'+tid); if(tform.onsubmit()) tform.submit(); }else ajaxaddcart(tid); return false; } var globalquickbuyid=''; function displayquickbuy(qbid){ var quid; globalquickbuyid=qbid; document.getElementById('qbopaque'+qbid).style.display=''; if(quid=document.getElementById('wqb'+qbid+'quant'))quid.name='quant'; if(quid=document.getElementById('w'+qbid+'quant'))quid.name=''; return false; } function closequickbuy(qbid){ var quid; if(quid=document.getElementById('wqb'+qbid+'quant'))quid.name=''; if(quid=document.getElementById('w'+qbid+'quant'))quid.name='quant'; document.getElementById('qbopaque'+qbid).style.display='none'; globalquickbuyid=''; return false; } function ajaxaddcartcb(){ if(ajaxobj.readyState==4){ var pparam,pname,pprice,pimage,optname,optvalue,retvals=ajaxobj.responseText.split('&'); try{pimage=decodeURIComponent(retvals[6])}catch(err){pimage='ERROR'} var schtml='
'+imgsoftcartcheckout+'
'+xxClsWin+'
' + '
'+(globallistname!=''?xxAddWiL+' '+globallistname:xxSCAdOr)+'
'; if(retvals[0]!='') schtml+='
'+xxNotSto+': '+decodeURIComponent(retvals[0]) + '
'; schtml+='
'+ // Image and products container '
'+ '
'; // start outer div for products var baseind=7; for(var index=0;index'; var prhtml='
'+xxPrice+(xxPrice!=''?':':'')+pprice+'
'; var numoptions=retvals[baseind+5]; baseind+=6; if(numoptions>0){ schtml+='
'; for(var index2=0;index2
'+optvalue+'
'; } schtml+='
'; } schtml+=prhtml+'
'; } schtml+=''+ // end outer div for products ''+ // end image and products container '
'; try{pprice=decodeURIComponent(retvals[5])}catch(err){pprice='ERROR'} if(retvals[1]==1) schtml+='
'+xxSCStkW+'
'; if(retvals[2]==1) schtml+='
'+xxSCBakO+'
'; schtml+='
'+xxCarCon+':'+retvals[4]+' '+xxSCItem+'
' + '
'+(showtaxinclusive!=0?xxCntTax+': / ':'')+xxSCCarT+':'+pprice+'
' + '' + '
'; document.getElementById('scdiv').innerHTML=schtml; if(document.getElementsByClassName){ var ectMCpm=document.getElementsByClassName('ectMCquant'); for(var index=0;index'+xxClkHere+''; ectMCpm=document.getElementsByClassName('ectMCtot'); for(var index=0;indexbaseind){ try{pparam=decodeURIComponent(retvals[baseind++])}catch(err){pparam='-'} if(ectMCpm=document.getElementById('sccarttax'))ectMCpm.innerHTML=pparam; try{pparam=decodeURIComponent(retvals[baseind++])}catch(err){pparam='-'} var ectMCpm=document.getElementsByClassName('mcMCdsct'); for(var index=0;index0||or[i]))return(true); if(backorder&&(globBakOrdChk||confirm(xxBakOpt)))return(globBakOrdChk=true); if(notifybackinstock) notifyinstock(true,x.form.id.value,x.form.id.value,i); else alert(xxOptOOS); x.focus();return(false); } function dummyfunc(){}; function pricechecker(cnt,i){ if(i!=''&&i in op&&!isNaN(op[i]))return(op[i]);return(0); // Safari } function regchecker(cnt,i){ if(i!='')return(or[i]);return(''); } function enterValue(x){ alert(xxPrdEnt); x.focus();return(false); } function invalidChars(x){ alert(xxInvCha+" "+x); return(false); } function enterDigits(x){alert(xxDigits);x.focus();return(false);} function enterMultValue(){alert(xxEntMul);return(false);} function chooseOption(x){ alert(xxPrdChs); x.focus();return(false); } function dataLimit(x,numchars){ alert(xxPrd255.replace(255,numchars)); x.focus();return(false); } var hiddencurr=''; function addCommas(ns,decs,thos){ ns=ns.toString().replace(/\./,decs); if((dpos=ns.indexOf(decs))<0)dpos=ns.length; dpos-=3; while(dpos>0){ ns=ns.substr(0,dpos)+thos+ns.substr(dpos); dpos-=3; } return(ns); } function formatprice(i,currcode,currformat){ currcode=currcode||''; currformat=currformat||''; i=(Math.round(i*100)/100);if(hiddencurr=='')hiddencurr=document.getElementById('hiddencurr').value;var pTemplate=hiddencurr; if(currcode!='') pTemplate=' ' + zero2dps + (currcode!=' '?''+currcode+'<\/strong>':''); if(currcode==' JPY'||(!hasdecimals&&currcode==''))i=Math.round(i).toString(); else if(hasdecimals){ if(i==Math.round(i))i=i.toString()+".00"; else if(i*10.0==Math.round(i*10.0))i=i.toString()+"0"; else if(i*100.0==Math.round(i*100.0))i=i.toString(); } i=addCommas(i,currDecimalSep,currThousandsSep); if(currcode!='')pTemplate=currformat.toString().replace(/%s/,i.toString()); else pTemplate=pTemplate.toString().replace(/\d[,.]*\d*/,i.toString()); return(pTemplate); } function vsdecimg(timg){ return decodeURIComponent(noencodeimages?timg:timg.replace('|','prodimages/').replace('<','.gif').replace('>','.jpg').replace('?','.png')); } function updateprodimage(theitem,isnext){ return updateprodimage2(false,theitem,isnext); } function sz(szid,szprice,szlist,szimage,szstock){ if(usestockmanagement) ps[szid]=szstock; pp[szid]=szprice; pl[szid]=szlist; if(szimage!='')pi[szid]=szimage; } function gfid(tid){ if(tid in fid) return(fid[tid]); fid[tid]=document.getElementById(tid); return(fid[tid]); } function applyreg(arid,arreg){ if(arreg&&arreg!=''){ arreg=arreg.replace('%s', arid); if(arreg.indexOf(' ')>0){ var ida=arreg.split(' ', 2); arid=arid.replace(ida[0], ida[1]); }else arid=arreg; } return(arid); } function getaltid(theid,optns,prodnum,optnum,optitem,numoptions){ var thereg=''; for(var index=0; index0?'+':'-'))+formatprice(Math.abs(Math.round(((absoptionpricediffs?prodprice+prodtax:0)+theoptpricediff+(showtaxinclusive==2?(!taxexmpt?theoptpricediff*thetax/100.0:0):0))*100)/100.0))+')';} if(usestockmanagement && showinstock && !noshowoptionsinstock) if(stkbyopts&&canresolve)optns.options[i].text+=xxOpSkTx.replace('%s',Math.max(theoptstock,0)); if(usestockmanagement?theoptstock>0||!stkbyopts||!canresolve:true) ectremoveclass(optns.options[i],'oostock');else ectaddclass(optns.options[i],'oostock'); if(allbutlastselected&&cnt==numoptions-1&&!canresolve)ectaddclass(optns.options[i],'oostock'); } } }else if(Math.abs(opttype[cnt])==1){ optns=document.getElementsByName("optn"+prodnum+"x"+cnt); for(var i=0;i0?'+':'-'))+formatprice(Math.abs(Math.round(((absoptionpricediffs?prodprice+prodtax:0)+theoptpricediff+(showtaxinclusive==2?(!taxexmpt?theoptpricediff*thetax/100.0:0):0))*100)/100.0))+')';} if(usestockmanagement && showinstock && !noshowoptionsinstock) if(stkbyopts&&canresolve)optn.innerHTML+=xxOpSkTx.replace('%s',Math.max(theoptstock,0)); if(usestockmanagement?theoptstock>0||!stkbyopts||!canresolve:true)ectremoveclass(optn,'oostock');else ectaddclass(optn,'oostock'); if(allbutlastselected&&cnt==numoptions-1&&!canresolve)ectaddclass(optn,'oostock'); } }else if(Math.abs(opttype[cnt])==4){ var tstr="optm"+prodnum+"x"+cnt+"y"; var tlen=tstr.length; var optns=document.getElementsByTagName("input"); hasmultioption=true; for(var i=0;i0?'+':'-'))+formatprice(Math.abs(Math.round(((absoptionpricediffs?prodprice+prodtax:0)+theoptpricediff+(showtaxinclusive==2?(!taxexmpt?theoptpricediff*thetax/100.0:0):0))*100)/100.0))+')';} if(usestockmanagement && showinstock && !noshowoptionsinstock) if(stkbyopts&&canresolve&&!(or[oid]&&theoptstock<=0))optnt.innerHTML+=xxOpSkTx.replace('%s',Math.max(theoptstock,0)); if(usestockmanagement) if(theoptstock>0||(or[oid]&&!canresolve)||backorder){ectremoveclass(optn,'oostock');optn.disabled=false;optn.style.backgroundColor='#FFFFFF';}else{ectaddclass(optn,'oostock');optn.disabled=true;optn.style.backgroundColor='#EBEBE4';} } } } } if(hasmultioption)oos[prodnum]=''; if((!cp[prodnum]||cp[prodnum]==0)&&prodprice==0)return; cp[prodnum]=prodprice; var lpt=xxListPrice,yst=yousavetext; if(!noprice){ var qbprefix; for(var qbind=0;qbind<=1;qbind++){ qbprefix=qbind==0?'':'qb'; if(document.getElementById(qbprefix+'taxmsg'+prodnum))document.getElementById(qbprefix+'taxmsg'+prodnum).style.display=''; if(!noupdateprice) if(document.getElementById(qbprefix+'pricediv'+prodnum)) document.getElementById(qbprefix+'pricediv'+prodnum).innerHTML=(pricezeromessage!=''&&prodprice==0?pricezeromessage:formatprice(prodprice+(showtaxinclusive==2?(!taxexmpt?prodprice*thetax/100.0:0):0))); if(showtaxinclusive==1 || ectbody3layouttaxinc){ if(!taxexmpt&&prodprice!=0){ if(document.getElementById(qbprefix+'pricedivti'+prodnum))document.getElementById(qbprefix+'pricedivti'+prodnum).innerHTML=formatprice(prodprice+(prodprice*thetax/100.0)); }else{ if(document.getElementById(qbprefix+'taxmsg'+prodnum))document.getElementById(qbprefix+'taxmsg'+prodnum).style.display='none'; }} if((currRate1!=0&&currSymbol1!='')||(currRate2!=0&&currSymbol2!='')||(currRate3!=0&&currSymbol3!='')){ if(document.getElementById(qbprefix+'pricedivec'+prodnum)){ document.getElementById(qbprefix+'pricedivec'+prodnum).innerHTML=prodprice==0?'': (currRate1!=0&&currSymbol1!=''?formatprice(prodprice*currRate1,currSymbol1,currFormat1)+currencyseparator:'') + (currRate2!=0&&currSymbol2!=''?formatprice(prodprice*currRate2,currSymbol2,currFormat2)+currencyseparator:'') + (currRate3!=0&&currSymbol3!=''?formatprice(prodprice*currRate3,currSymbol3,currFormat3):''); } } if(document.getElementById(qbprefix+'listdivec'+prodnum)){var nlp=(baseprice>0?prodprice*(listprice/baseprice):listprice);document.getElementById(qbprefix+'listdivec'+prodnum).style.display=(nlp>prodprice?'':'none');if(showtaxinclusive==2) nlp+=(!taxexmpt?nlp*thetax/100.0:0);var ysp=nlp-(prodprice+(showtaxinclusive==2?(!taxexmpt?prodprice*thetax/100.0:0):0));document.getElementById(qbprefix+'listdivec'+prodnum).innerHTML=lpt.replace(/%s/,formatprice(nlp)) + (ysp>0?yst.replace(/%s/,formatprice(ysp)):'');} } } } function dependantopts(frmnum){ var objid,thisdep,depopt='',grpid,alldeps=[]; var allformelms=document.getElementById('ectform'+frmnum).elements; for (var iallelems=0; iallelems0){try{var re=new RegExp("["+optacpc[cnt]+"]","g");}catch(err){alert(err.message);}if(voptn.value.replace(re,"")!='')return(invalidChars(voptn.value.replace(re,""))); } if((opttype[cnt]==3||opttype[cnt]==5)&&voptn.value=='')return(enterValue(voptn)); if(voptn.value.length>(optmaxc[cnt]>0?optmaxc[cnt]:txtcollen))return(dataLimit(voptn,optmaxc[cnt]>0?optmaxc[cnt]:txtcollen)); }else if(Math.abs(opttype[cnt])==2){ optn=document.getElementById("optn"+prodnum+"x"+cnt); if(optn.style.display=='none')continue; if(opttype[cnt]==2){ if(optn.selectedIndex==0)return(chooseOption(eval('theForm.optn'+cnt))); } if(stkbyopts&&optn.options[optn.selectedIndex].value!=''){ if(!checkStock(optn,optn.options[optn.selectedIndex].value,backorder))return(false); } }else if(Math.abs(opttype[cnt])==1){ havefound='';optns=document.getElementsByName('optn'+prodnum+'x'+cnt); if(optns[0].style.display=='none')continue; if(opttype[cnt]==1){ for(var i=0; i0?ECTbh[0].href+'/':'')+tloc).replace(/([^:]\/)\/+/g,'$1'); } ECT premium store:
Connect & follow i
Oakworks Massage

Your Cart

0 Product(s) in cart
Total $0.00
 

Departments

Please click on a category to view products.
 
Massage Products » All Products
 

Our Best Sellers

Bolster 6in Semi-Round
Price: $33.00
Boiance Face Cushion
Price: $75.00
ONE Table Package
Price: $410.00
 
Our Brands