// alle scripts benodigd voor de Internetwinkel
function makeEmptyArray() {
    this.count = 0;
    return(this);
}

function olClear() {
    this.items.count = 0;
    this.print();
}
function item(productType, id, name, price, quantity) {
    this.productType = productType;
    this.id = id;
    this.name = name;
    this.price = price;
    this.quantity = quantity;
    return(this);
}

function olAddItem(productType, id, name, price) {
    this.items.count++;
    this.items[this.items.count] = new item(productType, id, name, price,1);
    this.print();
}

function olRemoveItem() {
    var index = 0;
    for(var i = 1; i <= this.items.count; i++) {
        if(this.items[i].quantity == 0) {
            index = i;
            break;
        }
    }
    if(index) {
        for(var i = index; i < this.items.count; i++) {
            this.items[i] = this.items[i+1];
        }
        this.items.count--;
    }
    this.print();
}
function olAantal(id){
	veld = "aantal" + id;
	// alleen verwerken als niet leeg.
	if ((top.fb_mid.document.order[veld].value != this.items[id].quantity) && (top.fb_mid.document.order[veld].value != "")){
		this.items[id].quantity = top.fb_mid.document.order[veld].value;
		if (top.fb_mid.document.order[veld].value == 0 ) {
			this.removeItem();
		}
		this.print();
	top.fb_mid.document.order[veld].focus();
	}
	
}
function olPrintItems(doc, productType, actie) {
    var first = true;
    var done = false;
	var Price = 0;
    for(var i = 1; i <= this.items.count; i++) {
        if(this.items[i].productType == productType) {
			if (actie == "edit"){
				doc.writeln("<tr><td width=15%><input type=\"text\" name=\"aantal"+i+"\" value=\""+this.items[i].quantity+"\" size=\"3\" maxlength=\"3\" onKeyup=\"top.myOrderList.aantal("+ i + ");\"></td><td width=15%>");
			}
			else {
				doc.writeln("<tr><td width=15%>" + this.items[i].quantity + " stuks</td><td width=1%5>");
			}
			doc.writeln("&nbsp;" + productType+"</td><td width=55%>");
            doc.writeln(this.items[i].name);
            doc.writeln("</td><td align=\"right\" width=15%>");
			Price = parseFloat(this.items[i].price) * parseInt(this.items[i].quantity);
			Price = round(Price)
            doc.writeln("&euro;" + calculatePrice(Price) + "</td></tr>");
        }
    }
}
function round(num) {
	return Math.round(num* 100)/100;
}

function olPrintTotalPrice(doc) {
    doc.writeln("<tr><td colspan=\"3\"><b>Totaal exclusief ledenkorting:</b></td><td align=\"right\"><b>");
	totalPrice = 0;
    for(var i = 1; i <= this.items.count; i++) {
        totalPrice += parseFloat(this.items[i].price) * parseInt(this.items[i].quantity);
    }
	subtotalPrice = round(totalPrice);
    doc.writeln("&euro;" + calculatePrice(subtotalPrice) + "</b></td></tr>");
	
	if (lidNr != '') {
		doc.writeln("<tr><td colspan=\"3\"><b>Ledenkorting 15 %</b></td><td align=\"right\"><b>");
		korting = subtotalPrice * (15/100);
		korting = round(korting);

		doc.writeln("&euro;" + calculatePrice(korting) + "</b></td></tr>");
	}
	else {
		korting = 0;
	}
	doc.writeln("<tr><td colspan=\"3\"><b>Verzend- en administratiekosten</b></td><td align=\"right\"><b>&euro; 3.00</b></td></tr>");
	totalPrice = subtotalPrice - korting + 3;
	totalPrice = round(totalPrice);
	doc.writeln("<tr><td colspan=\"3\"><b>Af te rekenen</b></td><td align=\"right\"><b>&euro;" + calculatePrice(totalPrice) + "</b></td></tr>");

}

function calculatePrice(price){
	var priceStr = "" + price;
   	if(priceStr.charAt(priceStr.length-2) == '.') priceStr += "0";
   	if(priceStr.charAt(priceStr.length-3) != '.') priceStr += ".00";
	return priceStr;
}
function olPrintOrderTable(doc) {
	doc.writeln("<h1>Internetwinkel Fietsersbond</h1>");
	doc.writeln("<h2>Stap 2. Wat zit er in het winkelwagentje?</h2>");
    doc.writeln("<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr><td>");
    doc.writeln("Hieronder vindt u een overzicht van alle artikelen die tot nu toe in het winkelwagentje geplaatst zijn. U kunt het aantal veranderen (vul een ander aantal in) of verwijderen (vul een 0 in).<br> Of ga terug naar de <a href=\"default.asp?itemnumber=453\" style=\"text-decoration:underline;\">winkel</a> om andere artikelen te bekijken en te bestellen.<br><br></td></tr><tr><td><table width=500 cellpadding=3 cellspacing=0 border=0>");
    this.printItems(doc,"*","edit");
    this.printItems(doc," ","edit");
    this.printTotalPrice(doc);
	doc.writeln("</table></td><tr><tr><td>");
	doc.writeln("<br>Artikelen met een * kunnen alleen besteld worden door leden van de Fietsersbond.<br><br>\n<b>Leden van de Fietsersbond krijgen 15% korting.</b>\n<br>Indien u lid bent, vul dan hieronder het lidmaatschapsnummer van de Fietsersbond in:");
	doc.writeln("<input type=\"tekst\" name=\"lidnr\" value=\""+ lidNr +"\">&nbsp;<input type=\"button\" value=\"Korting berekenen\" onClick=\"top.myOrderList.lid();\">");
    doc.writeln("<br>Het lidmaatschapsnummer is te vinden op de lidmaatschapskaart en het adresetiket van de Vogelvrije Fietser. Bent u zojuist via de website lid geworden, vul dan als lidmaatschapsnummer in: 9999</td></tr>");
    doc.writeln("</table>");
}

function olPrint() {
    top.fb_mid.document.open("text/html");
	top.fb_mid.document.writeln("<head><link href=\"/stylesheet/portal.css\" rel=\"STYLESHEET\" type=\"text/css\"></head>");
    top.fb_mid.document.writeln("<body bgcolor=\"#FFEF96\">");
	top.fb_mid.document.writeln("<form name=\"order\"><table width=\"100%\" cellpadding=25 cellspacing=0 border=\"0\">");
        top.fb_mid.document.writeln("<tr valign=\"top\"><td>");
    if(this.items.count > 0) {
        this.printOrderTable(top.fb_mid.document);
        top.fb_mid.document.writeln("</td></tr><tr><td>");
        top.fb_mid.document.writeln("<input type=\"button\" value=\"Bestellen\" onClick=\"top.myOrderList.order();\">");
        top.fb_mid.document.writeln("&nbsp;&nbsp;<input type=\"button\" value=\"Annuleren\" onClick=\"top.myOrderList.clearall();\">");
    }
	else {
	top.fb_mid.document.writeln("<h2>Uw winkelwagentje is leeg.</h2><BR>Ga naar de <a href=\"default.asp?itemnumber=453\">winkel</a> om andere artikelen te bekijken en bestellen.");
	}
	top.fb_mid.document.writeln("</td></tr></table></form>");
    top.fb_mid.document.writeln("</body>");
    top.fb_mid.document.close();
}


function olLid() {
	lidNr = top.fb_mid.document.order.lidnr.value;
	this.print();
}

function olOrder() {
	var valid=true;
	this.lid();
	for(var i = 1; i <= this.items.count; i++) {
		if (this.items[i].productType == "*") {
		valid = false;
		break;
		}
	}
	if ((valid == false) && (lidNr == "")){
		alert("U kunt alleen artikelen voor leden bestellen wanneer u een lidmaatschapsnummer invuld.")
	}
	else {
	//top.fb_mid.document.location.href="default.asp?itemnumber=1";
    //orderWindow = window.open("","orderWindow","width=620,height=440,scrollbars=yes,status=no,menubar=yes");
    d = top.fb_mid.document;
    d.writeln("<html><head>");
    d.writeln("<title>Fietsersbond, Webwinkel</title>");
	d.writeln("<link href=\"/stylesheet/portal.css\" rel=\"STYLESHEET\" type=\"text/css\">");
    d.write("<scr");
    d.writeln("ipt>");
    d.writeln("function validateForm() {");
    d.writeln("    var valid=true;");
    d.writeln("    if((document.orderForm.achternaam.value == \"\") || (document.orderForm.voorletters.value == \"\") || (document.orderForm.straat.value == \"\") || (document.orderForm.huisnummer.value == \"\") || (document.orderForm.postcode.value == \"\") || (document.orderForm.plaats.value == \"\")){");
    d.writeln("        alert(\"Let op. U moet alle vakjes met een sterretje invullen.\");");
    d.writeln("        valid=false;");
    d.writeln("    }");
	d.writeln("    else if ((document.orderForm.email.value != \"\") && (document.orderForm.email.value.indexOf(\"@\")<3)) {");
	d.writeln("        alert(\"U heeft geen geldig email adres ingevuld.\");");
    d.writeln("        valid=false;");
	d.writeln("    }");
    d.writeln("    return(valid);");
    d.writeln("}");
    d.write("</scr");
    d.writeln("ipt>");
    d.writeln("</head>");
    d.writeln("<body bgcolor=\"#FFEF96\">");
    d.writeln("<form name=\"orderForm\" method=\"post\" action=\"winkelok.asp\">");
    d.writeln("<table width=100% border=\"0\" cellpadding=\"20\" cellspacing=\"0\"><tr><td>");
	d.writeln("<h1>Internetwinkel Fietsersbond</h1>");
    d.writeln("<h2>Stap 3, Bestelling doorgeven</h2>");
    d.writeln("Hieronder volgt een overzicht van alle artikelen die tot nu toe in het winkelwagentje zijn geplaatst. Vul het onderstaande formulier in om uw bestelling te bevestigen.<BR> U ontvangt de bestelling binnen drie weken. De te betalen rekening zit daarbij.<br>&nbsp;</td></tr>");
    d.writeln("<tr><td><table border=\"0\" cellpadding=\"5\" cellspacing=\"0\"><tr><td>");
    d.write("Geslacht:</td><td>");
    d.write("<input type=\"radio\" checked name=\"geslacht\" value=\"man\" selected>Man</td><tr>");
    d.write("<tr><td></td><td><input type=\"radio\" name=\"geslacht\" value=\"vrouw\">Vrouw</td><tr>");
    d.write("<tr><td>Achternaam (*):</td><td><input type=\"text\" size=\"25\" maxlength=\"50\" name=\"achternaam\"></td><tr>");
	d.writeln("<tr><td>Tussenvoegsel:</td><td><input type=\"text\" size=\"7\" maxlength=\"7\" name=\"tussenvoegsel\"></td><tr>");
    d.writeln("<tr><td>Voorletters (*):</td><td><input type=\"text\" size=\"7\" maxlength=\"7\" name=\"voorletters\"></td><tr>");
    d.writeln("<tr><td>Straat (*):</td><td><input type=\"text\" size=\"25\" maxlength=\"50\" name=\"straat\"></td><tr>");
    d.write("<tr><td>Huisnummer (*):</td><td><input type=\"text\" size=\"7\" maxlength=\"5\" name=\"huisnummer\"></td><tr>");
    d.writeln("<tr><td>Huisnummertoevoeging:&nbsp;</td><td><input type=\"text\" size=\"7\" maxlength=\"7\" name=\"huisnummertoevoeging\"></td><tr>");
    d.write("<tr><td>Postcode (*):</td><td><input type=\"text\" size=\"10\" maxlength=\"7\" name=\"postcode\"></td><tr>");
    d.writeln("<tr><td>Plaats (*):</td><td><input type=\"text\" size=\"25\" maxlength=\"50\" name=\"plaats\"></td><tr>");
    d.write("<tr><td>Telefoon:</td><td><input type=\"text\" size=\"10\" maxlength=\"13\" name=\"telefoon\"></td><tr>");
    d.writeln("<tr><td>Email:</td><td><input type=\"text\" size=\"25\" maxlength=\"100\" name=\"email\"></td><tr>");
	// extra invulvelden voor de campeercarnet
	for(var i=1; i<=this.items.count; i++) {
		if (this.items[i].id == 6) {
			d.writeln("<tr><td colspan=2>Voor uw Kampeercarnet moet u ook nog de volgende velden invullen:</td><tr>");
			d.writeln("<tr><td>Nationaliteit (*) :</td><td><input type=\"text\" size=\"25\" maxlength=\"50\" name=\"Nationaliteit\"></td><tr>");
			d.writeln("<tr><td>Geboorteplaats (*) :</td><td><input type=\"text\" size=\"25\" maxlength=\"50\" name=\"Geboorteplaats\"></td><tr>");
			d.writeln("<tr><td>Geboortedatum (*) :</td><td><input type=\"text\" size=\"25\" maxlength=\"50\" name=\"Geboortedatum\"></td><tr>");
			d.writeln("<tr><td>Paspoortnummer (*) :</td><td><input type=\"text\" size=\"25\" maxlength=\"50\" name=\"Paspoortnummer\"></td><tr>");
			d.writeln("<tr><td>Plaats van afgifte paspoort (*) :</td><td><input type=\"text\" size=\"25\" maxlength=\"50\" name=\"Plaats van afgifte\"></td><tr>");
			d.writeln("<tr><td>Datum van afgifte paspoort (*) :</td><td><input type=\"text\" size=\"25\" maxlength=\"50\" name=\"Datum van afgifte\"></td><tr>");
			break;
		}
	}
	 d.writeln("<tr><td>Opmerkingen:</td><td><textarea cols=\"20\" rows=\"4\" name=\"opmerkingen\"></textarea></td><tr>");
    d.writeln("<tr><td>Lidmaatschapsnummer:</td><td>"+ lidNr +"</td><tr>");
    d.writeln("");
    d.writeln("</td></tr></table>");
    d.writeln("</td></tr>");
    d.writeln("<tr><td><br>Uw bestelling:<table width=60% border=0 cellpadding=0>");
	
	this.printItems(fb_mid.window.document,"*","show");
    this.printItems(fb_mid.window.document," ","show");
    this.printTotalPrice(fb_mid.window.document);

	d.writeln("</table>");
	d.writeln("<input type=\"hidden\" name=lidmaatschapsnumer value=" + lidNr + ">")
    for(var i=1; i<=this.items.count; i++) {
        d.writeln("<input type=\"hidden\" name=\"item" + i + "_aantal\" value=\"" + this.items[i].quantity + "\">");
        //d.writeln("<input type=\"hidden\" name=\"item" + i + "_code\" value=\"" + this.items[i].id + "\">");
        d.writeln("<input type=\"hidden\" name=\"item" + i + "_naam\" value=\"" + this.items[i].name + "\">");
        d.writeln("<input type=\"hidden\" name=\"item" + i + "_prijs\" value=\"" + calculatePrice(this.items[i].price) + "\">");

    }
	d.writeln("<input type=\"hidden\" name=\"Subtotaal\" value=\"" + calculatePrice(subtotalPrice) + "\">");
	d.writeln("<input type=\"hidden\" name=\"Ledenkorting\" value=\"" + calculatePrice(korting) + "\">");
	d.writeln("<input type=\"hidden\" name=\"Verzendkosten\" value=\"3.00\">");
	d.writeln("<input type=\"hidden\" name=\"Totaalbedrag\" value=\"" + calculatePrice(totalPrice) + "\">");
    d.writeln("</td></tr>");
    d.write("<tr><td align=\"center\"><br><input type=\"submit\" value=\"Order bevestigen\" onClick=\"return validateForm();\"> ");
    d.writeln("<input type=\"button\" value=\"Order annuleren\" onClick=\"top.myOrderList.clearall();document.location.href='default.asp?itemnumber=1';\"></td></tr>");
    d.writeln("</table>");
    d.writeln("</center>");
    d.writeln("</form>");
    d.writeln("</body>");
    d.writeln("</html>");
    d.close();
	this.items.count = 0;
	}
}

function orderList() {
    this.items = new makeEmptyArray();
    this.addItem = olAddItem;
    this.removeItem = olRemoveItem;
    this.clearall = olClear;
    this.printItems = olPrintItems;
    this.printTotalPrice = olPrintTotalPrice;
    this.printOrderTable = olPrintOrderTable;
    this.print = olPrint;
    this.order = olOrder;
	this.lid = olLid;
	this.aantal = olAantal;
    this.itemsVisible = false;
}
var lidNr = "";
var subtotalPrice = 0;
var totalPrice = 0;
var korting = 0;
var myOrderList = new orderList();

