﻿var Handlers={}
var lb,bShowHome=true,sLic='',_istest=false,_resume=''
var cPicData='http://pic1.aldoc.eu/PicData/', cUri='/ws_carpartsgroningen/'
var oModels,oModel,oTypes,oType,oMyParts,oMyPart;

function initshop(){LoadScript('/shop/scripts/srf.js')}
function jsSrf(){LoadScript('/shop/scripts/box.js')}
function jsBox(){LoadScript('/shop/scripts/listbox.js')}
function jsListBox(){LoadScript('/shop/scripts/order.js')}
function jsOrder(){startshop()}

function startshop(){
lang='nl'
askSrfX('menu_main','myshp_menu_main')
askSrfX('menu_search','myshp_menu_side_search')
askSrf('carmake')
setOrderMenu()
_Content='myshp_content_frame'

var p=getparam()

_istest=(p.test)

if(p.trxid&&p.ec){
 askSrf('basket',true)

 var n=p.ec.split('Z');p.ec=n[0]+'Z';p.p=n[1]

 var t=askPage(mypage('orderstate'),{path:'ideal',stamp:p.ec});//alert(t)
 eval(t);
 if(typeof _oOrder!='undefined')Handlers.nac=_oOrder;
 if(typeof _oCart!='undefined')oCart=_oCart
 
 if(Handlers.nac&&Handlers.nac.proforma)
  startWait('continueshop('+objJSON(p)+')')
 else
  window.open('http://'+window.location.host,'_self')
 return
 }
continueshop()
}
function continueshop(p){
if(p){
 if(!sendBasket(p.ec,p.p,p.trxid))p.page='paymethod'
 stopWait()
 }
else {p={};p.page='carmake';}

if(p.page)showme(p.page)
}

function resumeshop(){
bShowHome=(oMake==null)
showme('carmake')
}
function setOrderMenu(){
askSrfX('menu_basket','myshp_menu_side_basket')
}
function fnOrder(e,i){
var qty=docElem('qty'+i)
var nr=forceInt(qty.value),n=findCart(oPart[i])
if(n<0){
 if(!nr)nr=1
 n=oCart.length;oCart[n]=oPart[i]
 }
else {
 if(!nr){
  if(confirm('Wilt u artikel '+oCart[n].art+' '+oCart[n].nl+' verwijderen?')){oCart.splice(n,1)}
  else nr=oCart[n].number
  }
 }
if(!nr)qty.value=''
else {
 oCart[n].number=nr
 qty.value=''+nr
 }
setOrderMenu()
}

function fnDate(s){return s.slice(0,2)+"-"+s.slice(2)}

function fnPopulate(){
askSrfX('carmake',_Content)
oMake=null
}

function onKeyQty(e,i){if(e.keyCode==13)fnOrder(e,i)}

function onKeyLic(e){if(!e||e.keyCode==13)fnLic()}

function strDate(s){var mmYYYY;if(s.length==6) mmYYYY=''+s.substr(0,2)+'-'+s.substr(2,4);else mmYYYY="";return mmYYYY;}

function Header(){
var sCar='',sBack='',sNext="fnPopulate()"
if(oMake==null) return sNext
var sMake=oMake.carmake,sModel='',sType='',sHome='';
if(sMake){
 sCar=sMake;
 sBack=sNext;sNext="fnStartModel()";sHome=sBack;sMake="<span class='hdr_car' onclick='"+sBack+"'>"+sMake+"</span>"
 sModel=tagValue(oModel,"model");
 if(sModel){
  sModel+=" "+tagValue(oModel,"modrem");sCar+=" | "+sModel;
  sBack=sNext;sNext="fnStartType()";sModel=" | <span class='hdr_model' onclick='"+sBack+"'>"+sModel+"</span>";
  var s=(typeof ScriptEngine=="undefined")?"&#x2794;":"<span style='font-family:wingdings'>&#xe8;</span>";
  sType=tagValue(oType,"type");
  if(sType){
   sType+=" "+tagValue(oType,"motortype")+" "+strDate(tagValue(oType,"begin"))+s+strDate(tagValue(oType,"eind"));sCar+=" | "+sType;
   sBack=sNext;sNext="fnStartMenu()";sType=" | <span class='hdr_type' onclick='"+sBack+"'>"+sType+"</span>";
   if(sLic)sCar=sLic+" | "+sCar;
   }
  }
 }
var sMenu=(oMenuItem)?oMenuItem.menu:'';if(sMenu!=''){sBack=sNext;sNext="fnStartPart()";sMenu=" | <span class='hdr_menu' onclick='"+sBack+"'>"+sMenu+"</span>"}
var sPart=(oMyPart)?oMyPart.part:'';if(sPart!=''){sBack=sNext;sNext="fnStartSubPart()";sPart=" | <span class='hdr_menu' onclick='"+sBack+"'>"+sPart+"</span>"}
if(sHome)sHome=''//"<img src='img/home.gif' alt='Begin' onclick='"+sHome+"' align=absmiddle>&nbsp;"
if(sBack)sBack="<img src='img/back.gif' alt='Terug' onclick='"+sBack+"' align=absmiddle>&nbsp;"
var sHTML="<table width=100%><tr><td>&nbsp;"+sHome+sBack+sMake+sModel+sType+sMenu+sPart+"</td></tr></table>"
docElem('Top').innerHTML=sHTML
showElem('Top')
showElem('Car')
return sNext
}

function fnStartModel(c){
if(isdefined(c))oMake=askMake(c)
oModel=null;oType=null;oMenuItem=null;oMyPart=null
askSrfX('carmodel',_Content)
}

function fnStartType(){
oType=null;oMenuItem=null;oMyPart=null
askSrfX('cartype',_Content)
}

function fnLic(){
sLic=docElem('txtLic').value;if(sLic.length<6){sLic='';return}
askForm(cUri+"type.alx",{kenteken:sLic},fnSingleType)
}

function fnSingleType(){//alert(this.request.responseText);
oType=xmlNodes(this.xmlDoc,"Type")[0];
if(tagValue(oType,"typecode")){oMake={};oMake.carmake=tagValue(oType,"carmake");oMake.carcode=tagValue(oType,"carcode");oModel=oType;fnStartMenu();}
else alert('kenteken niet gevonden.');
}

function fnStartMenu(){
oMenuItem=null;oMyPart=null
askSrfX('catmenu',_Content)
}

function fnStartPart(){
oMyPart=null
askSrfX('catparts',_Content)
}

function fnStartSubPart(){
askSrfX('catsubparts',_Content)
}

var b,img;
function onLoadImg(){
b=new Box('b','idPic',-1,-1,img.height+2,img.width+2,true,false,false);b.caption("artikelnummer "+oPart[img.i].art);
b.Populate("<img src='"+img.src+"'>");b.Open()
}
function onClickImg(e,src,i){
e.cancelBubble=true;
img=new Image()
img.i=i;img.onload=onLoadImg;img.src=src
}

function InitBasket(){
Handlers.nac={proforma:false,totalprice:0,shippingcost:0,delivery_country:'Nederland',invoice_country:'Nederland',invoice_remark:'',invoice_email:'',newsletter:''}
}
function IamSuper(){try{return (Handlers.nac.invoice_email=='jp@aldoc.info'||sLic=='npvl99')}catch(e){};return false}
function say(s){if(IamSuper())alert(s)}
function istest(){return _istest}

function sendBasket(s,p,trx){
var pf=false,msg='',inc=true
var to='',cc=Handlers.nac.invoice_email
var oSent={},r

if(IamSuper()){to=cc;cc='';inc=false}

Handlers.nac.purchase='<#purchase#>'

if(!s){
 s=''
 pf=(Handlers.nac.paymethod=='ideal')
 Handlers.nac.proforma=pf
 if(pf)cc=''
 }
else{
 inc=false
 Handlers.nac.proforma=false
 Handlers.nac.trxid=trx
 }

var m=askSrfX('basket_email')
var page='order',sState='var _oCart='+arrJSON(oCart)+'\r\nvar _oOrder='+objJSON(Handlers.nac,'\r\n')
var f={stamp:s,state:sState,inc:inc,Subject:((pf)?'Voorlopig':'Bestelling')+' <#purchase#>',EMailHTML:m,To:to,Cc:cc,path:Handlers.nac.paymethod}

if(s){
 page='ideal'
 f.req='status';f.purchase=p;f.trxid=trx
 }
r=askPage(mypage(page),f,true)
//say(r)
eval('oSent='+r)
if(typeof oSent=='undefined')
 msg='Er is een onbekende fout opgetreden. ('+r+')\r\nNeemt u svp contact met ons op.';
else{
 if(trx){
  setOrderMenu()
  if(oSent.ideal[0].error)
   msg=oSent.ideal[0].error
  if(!msg&&oSent.ideal[0].status!='Success')
   msg='Uw betaling is niet gelukt: '+oSent.ideal[0].status
  }
 
 if(!msg&&oSent.sent){
  Handlers.nac.purchase=oSent.purchase
  if(!pf){
   Handlers.nac.trayme=true
   showme('orderprocess')
   }
  else{//proforma
   r=askPage(mypage('ideal'),{stamp:oSent.stamp,purchase:oSent.purchase,req:'transaction',issuer:Handlers.issuer,amount:(Handlers.nac.totalprice+Handlers.nac.shippingcost)})
   //say(r)
   eval('var o='+r)
   if(o[0].error){msg=o[0].error;}
   else {window.open(o[0].issuerAuthenticationURL,'_top');return true;}
   }
  }
 else{
  if(!msg){
   msg='De bestelling is niet gelukt'
   if(trx){msg+='\r\nUw betaling is mogelijk wel gelukt!\r\nNeemt u svp contact met ons op.'}
   }
  }
 }
 
if(msg)alert(msg)

stopWait()
return (msg=='')
}

