﻿var autoAdded = -1;

function initialise() {
	Phizz.Tools.PreloadImage("/i/b-Added.png", 131, 33);
	Phizz.Tools.PreloadImage("/i/b-X.png", 24, 24);
	if (Phizz.Browser.IsIE6) {
		Phizz.Tools.EnableIE6ImageTransparencyForSrc(/b\-[a-zA-Z]+\.png/, "/i/_.gif");
		Phizz.Tools.EnableIE6ImageTransparency(Phizz.Dom.ByID("Submit"), "/i/_.gif");
	}
}

var order = new Array();

function addToOrder(id, name) {
	if (order.length == 3) {
		alert("A maximum of three brochures may be ordered at a time.\n\nTo add '" + name + "' to your order, you must first remove another.");
		return;
	}
	for (var i = 0; i < order.length; i++) {
		if (id == order[i].id) {
			return;
		}
	}
	
	order.push({id: id, name: name});
	Phizz.Dom.ByID("Add_" + id).src = "/i/b-Added.png";
	updateOrderDisplay();
}

function removeFromOrder(id) {
	for (var i = 0; i < order.length; i++) {
		if (id == order[i].id) {
			order.splice(i, 1);
			Phizz.Dom.ByID("Add_" + id).src = "/i/b-AddToOrder.png";
			if (autoAdded == id) Phizz.Dom.ByID("AutoPrompt").style.display = "none";
			updateOrderDisplay();
			return;
		}
	}
}

function showOrderForm() {
    if (autoAdded > -1) Phizz.Dom.ByID("AutoPrompt").style.display = "none";

    var i;
    var s = "";
    var s2 = "";
	for (i = 0; i < order.length; i++) {
	    if (i > 0) {
	        s = s.concat(",");
	        s2 = s2.concat(",");
	    }
		s = s.concat(order[i].id);
		s2 = s2.concat(order[i].name);
	}
	Phizz.Dom.ByID("hidOrder").value = s;
	Phizz.Dom.ByID("hidOrderNames").value = s2;

	Phizz.Dom.ByID("Brochures").style.display = "none";
	Phizz.Dom.ByID("OrderForm").style.display = "";
	Phizz.Dom.ByID("OrderRemaining").style.display = "none";
	Phizz.Dom.ByID("OrderButton").style.display = "none";
	Phizz.Dom.ByID("ChangeButton").style.display = "";
	var objsRemove = Phizz.Dom.ByName("Remove");
	for (i = 0; i < objsRemove.length; i++) objsRemove[i].style.display = "none";
	window.scrollTo(0, 0);
	positionOrderDisplay();
	
	if (Phizz.Browser.IsIE6) Phizz.Tools.EnableIE6ImageTransparencyForSrc(/b\-Submit\.png/, "/i/_.gif");
}

function cancelOrderForm() {
	Phizz.Dom.ByID("Brochures").style.display = "";
	Phizz.Dom.ByID("OrderForm").style.display = "none";
	Phizz.Dom.ByID("OrderRemaining").style.display = "";
	Phizz.Dom.ByID("OrderButton").style.display = "";
	Phizz.Dom.ByID("ChangeButton").style.display = "none";
	var objsRemove = Phizz.Dom.ByName("Remove");
	for (var i = 0; i < objsRemove.length; i++) objsRemove[i].style.display = "";
	positionOrderDisplay();
}

function validateSubmission() {
	return Phizz.Validation.Dropdown("selTitle") &&
		Phizz.Validation.Value("txtFirstName") &&
		Phizz.Validation.Value("txtSurname") &&
		Phizz.Validation.Email("txtEmail") &&
		Phizz.Validation.Value("txtAddress") && 
		Phizz.Validation.Value("txtTown") && 
		Phizz.Validation.Value("txtCounty") && 
		Phizz.Validation.Value("txtPostcode") && 
		Phizz.Validation.Value("selCountry") &&
		(Phizz.Dom.ByID("radEaseOfUse") != null ? Phizz.Validation.CheckboxList("EaseOfUse") : true) && 
		(Phizz.Dom.ByID("radQualityOfInfo") != null ? Phizz.Validation.CheckboxList("QualityOfInfo") : true)
}

function updateOrderDisplay() {
	var objStatus = Phizz.Dom.ByID("OrderStatus");
	var objRemaining = Phizz.Dom.ByID("OrderRemaining");
	var objDetails = Phizz.Dom.ByID("OrderDetails");
	var objButton = Phizz.Dom.ByID("OrderButton");

	if (order.length == 0) {
		objStatus.innerHTML = "You have not selected any brochures to receive via post.";
		objDetails.innerHTML = "&nbsp;";
		objDetails.style.display = "none";
		objRemaining.innerHTML = "You may select up to 3 brochures.";
		objButton.style.display = "none";
	} else {
		objStatus.innerHTML = "You have selected " + order.length + " brochure" + (order.length == 1 ? "" : "s") + " to receive via post:";
		var s = "";
		for (var i = 0; i < order.length; i++) {
			s = s.concat("<table class=\"OrderDetail\" cellpadding=\"0\" cellspacing=\"0\"><tr><td class=\"OrderDetailLabel\">" + order[i].name + "</td><td class=\"OrderDetailX\"><a name=\"Remove\" href=\"javascript:void(0)\" onclick=\"removeFromOrder(" + order[i].id + ")\"><img src=\"/i/b-X.png\" alt=\"X\"></a></td></tr></table>");
		}
		objDetails.innerHTML = s;
		objDetails.style.display = "";
		if (order.length == 1) {
			objRemaining.innerHTML = "You may select up to 2 more brochures, or place your order now.";
		} else if (order.length == 2) {
			objRemaining.innerHTML = "You may select one more brochure, or place your order now.";
		} else {
			objRemaining.innerHTML = "No more brochures can be added to your order. Click the button below to place your order now.";
		}
		objButton.style.display = "";
		if (Phizz.Browser.IsIE6) Phizz.Tools.EnableIE6ImageTransparencyForSrc(/b\-X+\.png/, "/i/_.gif");
	}
	
	if (Phizz.Browser.IsIE6) Phizz.Tools.EnableIE6ImageTransparencyForSrc(/b\-(Added|AddToOrder)\.png/, "/i/_.gif");
}

function positionOrderDisplay() {
	Phizz.Dom.ByID("OrderDisplay").style.top = Math.max(0, Phizz.Dom.GetScrollPosition().y - Phizz.Dom.GetAbsolutePosition(Phizz.Dom.ByID("Basket")).y) + "px";
}

Phizz.Dom.RegisterWindowScrollEvent(positionOrderDisplay);
Phizz.Dom.RegisterWindowLoadEvent(initialise);