/*
todo's:
aantal onfocus select
persoonsinfo in cookie
*/

//new Reactie(window,'error',function(){window.status+='Fout in regel '+this.Regel+': '+this.Fout+'. ';return true}).Start();


function FLV(){
	var flv=Elm('flv');
	if (flv){
		var url='FLVplayer.swf?open=/content/nbdbiblion/documenten/video'+Lokatie.Args.pagina+'.flv';
		flv.innerHTML=
			'<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="100%" height="100%">'+
			'<param name="movie" value="'+url+'" />'+
			'<param name="quality" value="high" />'+
			'<param name="wmode" value="transparent" />'+
			'<embed src="'+url+'" quality="high" wmode="transparent" width="100%" height="100%" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />'+
			'</object>';
	}
}


var ActiefID;

function JSmenu(El,ID){
	if (!El.ClassNaam){
		El.ClassNaam=El.className;
		//El.style.width=El.offsetWidth+'px';
		//El.style.height=El.offsetHeight+'px'; //waarom stond dit hier?
		El.style.overflow='hidden';
		new Reactie(El,'mouseout',function(){this.Object.className=this.Object.ClassNaam}).Start();
		new Reactie(El,'click',function(){location.href='?pagina='+ID}).Start();
	}
	if (El.className.indexOf('menu_0')==0){
		var OpenSub=Elm('sub_'+ActiefID);
		if (OpenSub) OpenSub.style.visibility='hidden';
		ActiefID=ID;
	}
	El.className+='Over';
	var Sub=Elm('sub_'+ID);
	if (Sub){
		new Reactie(Sub,'mouseleave',function(){this.Object.style.visibility='hidden'}).Start();//geen mouseout omdat veel browsers dit verkeerd interpreteren
		var HoofdmenuTabel=Elm('HoofdmenuTabel');
		Sub.style.top=(HoofdmenuTabel.offsetTop+El.offsetTop)+'px';
		Sub.style.visibility='visible';
	}
}

function Zoek(){
	var txtZoek=Elm('txtZoek');
	txtZoek.value=Trim(txtZoek.value).toLowerCase();
	var Uitsluiten={'het':1,'een':1,'van':1,'met':1,'boek':1};
	var Min=3;
	if (txtZoek.value.length<Min){
		alert('Uw trefwoord dient uit\nminimaal '+Min+' karakters te bestaan');
		txtZoek.focus();
		return false;
	}
	else{
		if (Uitsluiten[txtZoek.value]){
			alert('\''+txtZoek.value+'\' is een te algemeen trefwoord');
			txtZoek.focus();
			return false;
		}
	}
	location.href='?pagina=680&zoek='+txtZoek.value;
}

function Vind(){
	var txtVind=Elm('txtVind');
	var lstEigenschap=Elm('lstEigenschap');
	txtVind.value=Trim(txtVind.value).toLowerCase();
	var Min=3;
	if (lstEigenschap[lstEigenschap.selectedIndex].value==''){
		alert('U dient een eigenschap te selecteren');
		lstEigenschap.focus();
		return false;
	}
	else{
		if (txtVind.value.length<Min){
			alert('Uw trefwoord dient uit\nminimaal '+Min+' karakters te bestaan');
			txtVind.focus();
			return false;
		}
	}
	location.href='?pagina=1522&vind='+txtVind.value+'&eigenschap='+lstEigenschap[lstEigenschap.selectedIndex].value;
}

function InitNBDWinkel(){
	//alert(winkelwagen);
	var Knoppen=ElmN('PlaatsKnop');
	for (var x=0;x<Knoppen.length;x++){
		var knop=Knop(Knoppen[x]);
		knop.id=knop.title;
		knop.title='';
		if (c.isOndersteund()){
			new Reactie(knop,'click',function(){Plaats(parseInt(this.Object.id));this.Object.Uit()}).Start();
			if (winkelwagen.Inhoud[parseInt(knop.id)]) knop.Uit();
		}
		else knop.Uit();
	};
	Knoppen=ElmN('LeesKnop');
	for (var x=0;x<Knoppen.length;x++){
		var knop=Knop(Knoppen[x]);
		knop.id=knop.title;
		knop.title='';
		new Reactie(knop,'click',function(){location.href='?pagina='+parseInt(this.Object.id)}).Start()
	};
	var Afronden=Knop(Elm('Afronden'));
	RenderWinkelwagenKlein();
	new Reactie(Afronden,'click',function(){location.href='?pagina=2542'}).Start();
	if (Lokatie.Args['pagina']==2542){
		RenderWinkelwagenGroot();
		Afronden.Uit();
	}
	if (Lokatie.Args['pagina']==11343){
		RenderWinkelwagenKlaar(false);
		Afronden.Uit();
	}
}

function RenderProduktTotaal(ProduktID){
	if (parseInt(this.Object.value)>0) this.Object.value=parseInt(this.Object.value);
	else this.Object.value='';
	winkelwagen.Plaats(ProduktID,this.Object.value);
	var ProduktTotaal=0;
	if (winkelwagen.Inhoud[ProduktID]) ProduktTotaal=winkelwagen.Inhoud[ProduktID].Prijs();
	Elm('Totaal_'+ProduktID).innerHTML=Bedrag(ProduktTotaal);//innerText werkt niet in NS
	RenderTotalen();
}

function Plaats(ID,Aantal){
	winkelwagen.Plaats(ID,Aantal);
	if (Aantal==0 && Elm(ID+'_p')) Elm(ID+'_p').Aan();
	RenderWinkelwagenKlein();
	RenderWinkelwagenGroot();
	RenderWinkelwagenKlaar(false);
}

function Leeg(){
	winkelwagen.Leeg();
	RenderWinkelwagenKlein();
	RenderWinkelwagenGroot();
}

function PrijsRegel(Naam){return '<table width="350" height="30" border="0" cellpadding="0" cellspacing="0"><tr><td align="right">'+Naam+'</td><td width="60" align="right" class="ProductPrijsKlein">&euro; <span id="'+Naam+'"></span></td></tr></table>';}
var HR='<hr width="350">';

function RenderWinkelwagenGroot(){
	var eWinkelwagenGroot=Elm('WinkelwagenGroot');
	if (eWinkelwagenGroot){
		winkelwagen.BeginWeergave='';
		winkelwagen.EindWeergave=HR+PrijsRegel('Subtotaal')+PrijsRegel('BTW')+HR+PrijsRegel('Totaal')+HR+'<br><table width="350" border="0" cellpadding="0" cellspacing="0"><tr><td class="Button_Paars" id="Leeg">Leeg winkelwagen</td><td>&nbsp;</td><td class="Button_Groen Forward" id="Volgende">Volgende</td></tr></table>';
		winkelwagen.LeegWeergave='Uw winkelwagen is leeg<br><br>';
		winkelwagen.ProduktWeergave=function(){
			return '<table width="350" height="24" border="0" cellpadding="0" cellspacing="7" bgcolor="#e7edfb">'+
			'<tr>'+
			'<td width="320"><a href="?pagina='+this.ID+'" class="ProductLink" id="CimpleTitel_'+this.ID+'">'+this.Naam+'</a></td>'+
			'<td width="30" align="center"><img src="images/NBD_ico_prullenbak.gif" alt="Verwijder dit product uit uw winkelwagen" width="9" height="10" border="0" onclick="Plaats('+this.ID+',0)" style="cursor:pointer"></td>'+
			'</tr>'+
			'</table>'+
			'<table width="350" height="30" border="0" cellpadding="0" cellspacing="0">'+
			'<tr>'+
			'<td width="190" align="right">Aantal: <input id="Aantal_'+this.ID+'" type="text" maxlength="3" value="'+winkelwagen.Inhoud[this.ID].Aantal+'" class="InvoerVeld" style="width:30px">'+
			'</td>'+
			'<td width="20" align="center">x</td>'+
			'<td width="60" class="ProductPrijsKlein">&euro; <span id="Prijs_'+this.ID+'">'+Bedrag(this.Prijs)+'</span></td>'+
			'<td width="20" align="center">=</td>'+
			'<td width="60" align="right" class="ProductPrijsKlein">&euro; <span id="Totaal_'+this.ID+'">'+Bedrag(winkelwagen.Inhoud[this.ID].Prijs())+'</span></td>'+
			'</tr>'+
			'</table>'
		}
		eWinkelwagenGroot.innerHTML=winkelwagen;
		if (!winkelwagen.isLeeg()){
			new Reactie(Knop(Elm('Leeg')),'click',Leeg).Start();
			new Reactie(Knop(Elm('Volgende')),'click',function(){location.href='?pagina=11343'}).Start();
			for (var ProduktID in winkelwagen.Inhoud){
				new Reactie(Elm('Aantal_'+ProduktID),'keyup',RenderProduktTotaal).Start(ProduktID);
				new Reactie(Elm('Aantal_'+ProduktID),'blur',RenderProduktTotaal).Start(ProduktID);
			}
			RenderTotalen();
		}
	}
}

var VerplichteVelden={'Organisatie':1,'Naam':1,'Adres':1,'Postcode':1,'Plaats':1,'Telefoonnummer':1,'E-mailadres':1};

function RenderWinkelwagenKlaar(Verzenden){
	var eWinkelwagenKlaar=Elm('BestelMail');
	var Knoppen='<hr><table width="100%"  align="center" border="0" cellpadding="0" cellspacing="0"><tr><td class="Button_Paars Back" id="Vorige">Vorige</td><td>&nbsp;</td><td class="Button_Groen Forward" id="Verzenden">Verzenden</td></tr></table>';
	if (eWinkelwagenKlaar){
		var Form='';
		var Knoppen='';
		if (Verzenden){//tbv NS
			Form='<table width="100%" border="0">';
			for (var Gegeven in winkelwagen.Eigenaar){Form+='<tr><td class="StatischeTitel" width="50%">'+Gegeven+':</td><td>'+winkelwagen.Eigenaar[Gegeven]+'</td></tr>'};
			Form+='</table>';
		}
		else{
			Knoppen='<hr><table width="100%"  align="center" border="0" cellpadding="0" cellspacing="0"><tr><td class="Button_Paars Back" id="Vorige">Vorige</td><td>&nbsp;</td><td class="Button_Groen Forward" id="Verzenden">Verzenden</td></tr></table>';
			//hier tzt cookie uitlezen
			winkelwagen.Eigenaar={'Klantnummer (indien bekend)':'','Organisatie':'','Naam':'','Adres':'','Postcode':'','Plaats':'','Telefoonnummer':'','E-mailadres':''}
			var Sterretje
			for (var Gegeven in winkelwagen.Eigenaar) {Form+=Gegeven+(VerplichteVelden[Gegeven]?' *':'')+'<br><input type="text" class="InvoerVeld" style="width:100%" id="'+Gegeven+'" value="'+winkelwagen.Eigenaar[Gegeven]+'">'};
		}
		winkelwagen.BeginWeergave='<table width="350" border="0" cellpadding="0" cellspacing="0">'+
			'<tr><td class="StatischeTitel" colspan="7">Uw bestelling</td></tr>';
		winkelwagen.EindWeergave='<tr><td colspan="7">'+HR+PrijsRegel('Subtotaal')+PrijsRegel('BTW')+HR+PrijsRegel('Totaal')+HR+'</td></tr>'+
			'<tr><td class="StatischeTitel" colspan="7">'+Form+Knoppen+'</td></tr></table>';
		winkelwagen.LeegWeergave='Winkelwagen is leeg';
		winkelwagen.ProduktWeergave=function(){
			return '<tr valign="top"><td>'+winkelwagen.Inhoud[this.ID].Aantal+'</td><td>&nbsp;x&nbsp;</td><td><a href="?pagina='+this.ID+'" style="color:black" id="CimpleTitel_'+this.ID+'">'+this.Naam+'</a></td><td style="padding-left:15px">'+this.Bestelnummer+'</td><td>&nbsp;&agrave;&nbsp;</td><td align="right" nowrap> &euro; '+Bedrag(this.Prijs)+'</td><td align="right" class="ProductPrijsKlein" style="padding-left:15px">&euro; '+Bedrag(winkelwagen.Inhoud[this.ID].Prijs())+'</td></tr>';
		}
		eWinkelwagenKlaar.innerHTML=winkelwagen;
		if (!winkelwagen.isLeeg() && !Verzenden){
			new Reactie(Knop(Elm('Vorige')),'click',function(){history.back()}).Start();
			new Reactie(Knop(Elm('Verzenden')),'click',PlaatsBestelling).Start();
		}
		RenderTotalen();
	}
}

function RenderWinkelwagenKlein(){
	var eWinkelwagenKlein=Elm('WinkelwagenKlein');
	if (eWinkelwagenKlein){
		Elm('Afronden').Aan();
		winkelwagen.BeginWeergave='<table width="100%" border="0" cellspacing="0" cellpadding="0">';
		winkelwagen.EindWeergave='</table>';
		winkelwagen.LeegWeergave=function(){
			Elm('Afronden').Uit();
			var Tekst;
			if (c.isOndersteund()) Tekst='&nbsp;Winkelwagen is leeg...';
			else Tekst='U kunt niet winkelen.<br>Het beveiligingsnivo van uw browser staat geen cookies toe.';
			return this.BeginWeergave+'<tr><td colspan="3">'+Tekst+'</td></tr>'+this.EindWeergave;
		}
		winkelwagen.ProduktWeergave=function(){
			return '<tr><td width="1" title="'+this.Naam+'"><span onclick="location.href=\'?pagina='+this.ID+'\'" class="ProductLinkKlein" id="'+this.ID+'">'+this.Naam+'</span></td>'+
			'<td class="ProductPrijsKlein" align="right">€ '+Bedrag(this.Prijs)+'</td>'+
			'<td width="13" align="center"><img src="images/NBD_ico_prullenbak.gif" alt="Verwijder dit product uit uw winkelwagen" width="9" height="10" border="0" onclick="Plaats('+this.ID+',0)" style="cursor:pointer"></td></tr>';
		}
		eWinkelwagenKlein.innerHTML=winkelwagen;
	}
}

function RenderTotalen(){
	if (Elm('Subtotaal')){
		Elm('Subtotaal').innerHTML=Bedrag(winkelwagen.Prijs());
		Elm('BTW').innerHTML=Bedrag(winkelwagen.BTW());
		var PrijsIn=winkelwagen.PrijsIn();
		Elm('Totaal').innerHTML=Bedrag(PrijsIn);
	}
}

function PlaatsBestelling(){
	for (var Veldnaam in winkelwagen.Eigenaar){
		if (VerplichteVelden[Veldnaam] && isLeeg(Elm(Veldnaam))){
			alert('\''+Veldnaam+'\' is verplicht');
			Elm(Veldnaam).focus();
			return false;
		}
		winkelwagen.Eigenaar[Veldnaam]=Elm(Veldnaam).value;
	}
	if (!isEmail(Elm('E-mailadres').value)){
		alert('\''+Elm('E-mailadres').value+'\' is geen geldig e-mail-adres');
		Elm('E-mailadres').focus();
		return false;
	}
	//hiervoor een generieke oplossing gaan opzetten
	var Mail=document.MailForm;
	Mail.Van.value=Elm('E-mailadres').value;
	Mail.Aan.value='klantenservice@nbdbiblion.nl';
	//Mail.BCC.value='michiel.wessels@cipix.nl';
	Mail.Onderwerp.value='NBD/Biblion bestelling via webshop';
	RenderWinkelwagenKlaar(true);
	Mail.Inhoud.value=MaakHTMLfragment(Elm('BestelMail').innerHTML,Mail.Onderwerp.value);
	Mail.HTML.checked=true;
	Lokatie.Document='default.asp';
	Lokatie.Args.pagina=11344;
	Leeg();
	Mail.action=Lokatie;
	Mail.submit();
	Mail.reset();
}

function MenuUit(){
	if (Elm('sub_'+ActiefID) && this.Event.x<=Elm('ContentTD').offsetLeft+this.Object.offsetWidth) Elm('sub_'+ActiefID).style.visibility='hidden';
}

function Start(){
	FLV();
	InitNBDWinkel();
	var txtZoek=Elm('txtZoek');
	if (Lokatie.Args.zoek) txtZoek.value=Lokatie.Args.zoek;
	new Reactie(txtZoek,'focus',function(){this.Object.select()}).Start();
	new Reactie(txtZoek,'keyup',function(){if (this.Event.keyCode==13) Zoek()}).Start();
	new Reactie(Elm('btnZoek'),'click',Zoek).Start();
	new Reactie(Elm('HoofdmenuSubTabel'),'mouseout',MenuUit).Start();
	var txtVind=Elm('txtVind');
	if (txtVind){
		if (Lokatie.Args.vind) txtVind.value=Lokatie.Args.vind;
		new Reactie(txtVind,'focus',function(){this.Object.select()}).Start();
		new Reactie(txtVind,'keyup',function(){if (this.Event.keyCode==13) Vind()}).Start();
		new Reactie(Elm('btnVind'),'click',Vind).Start();
	}/*
	cursordiv=new Laag();
	//cursordiv.Verberg(); //Nog definitief uitsluiten, debug-optie van maken?
	cursordiv.className='HelpKader';
	new Reactie(document,'mousemove',function(){
		var e=cursordiv;
		e.style.zIndex=HoogsteZ;
		e.style.left=this.Event.x;
		e.style.top=this.Event.y+21;
		e.innerHTML=this.Event.x+', '+this.Event.y;
	}).Start();*/
}
