function Page4() {
	this.id = "page4";
	
	Page4.prototype.update = function() {

		// program vyhod
		$("page4-discount-button").style.visibility = (Config.intranetMode == true) ? "visible" : "hidden";
		
		// produkty
		$("page4-selected").innerHTML = "";
		$("print-headline1").innerHTML = "Vybrané produkty a služby Standard a Plus";
		$("print-list1").innerHTML = "";
		var products = c.selection.findByCategories(Config.basicCategoryId, Config.extendedCategoryId);
		for (var i = 0; i < products.items.length; i++) {
			var product = products.items[i];
			var className = null;
			if (product.category.id == Config.basicCategoryId) {
				className = "product make-basic";
			}
			else if (product.category.id == Config.extendedCategoryId) {
				className = "product make-extended";
			}
			else if (product.category.id == Config.exclusiveCategoryId) {
				className = "product make-special";
			}
			var element = HtmlFactory.createElement("A", $("page4-selected"), className);	
			element.style.cursor = "default";
			element.innerHTML = "<span unselectable=\"on\">" + product.fullName + "</span>";
			if (product.amount > 1) {
				element.innerHTML += "<span class=\"number\">" + product.amount + "&times;</span>";
			}
			$("print-list1").innerHTML += "<li>" + product.fullName + (product.amount > 1 ? " (" + product.amount + "&times;)" : "") + "</li>";
		}
		
		// benefity
		$("page4-benefits").innerHTML = "";
		$("print-headline2").innerHTML = "Benefity";
		$("print-list2").innerHTML = "";
		var benefits = products.getBenefits(false);
		for (var i = 0; i < benefits.length; i++) {
			var benefit = benefits[i];
			$("page4-benefits").innerHTML += "<li>" + benefit.text + "</li>";
			$("print-list2").innerHTML += "<li>" + benefit.text + "</li>";
		}
		
		// cena
		var oldPrice = Formatter.asCurrency(c.selection.getStandardPrice());
		var newPrice = Formatter.asCurrency(c.selection.getStandardPriceDiscounted());
		if (c.selection.discount > 0) {
			$("page4-pricing1").style.display = "none";
			$("page4-pricing2").style.display = "block";
		}
		else {
			$("page4-pricing1").style.display = "block";
			$("page4-pricing2").style.display = "none";
		}
		if (c.products.type == Config.accountTypeAdult) {
			$("page4-discount-transactions-count").innerHTML = "3";
		}
		else if (c.products.type == Config.accountTypeStudent) {
			$("page4-discount-transactions-count").innerHTML = "1";
		}
        else if (c.products.type == Config.accountTypeJunior) {
			$("page4-discount-transactions-count").innerHTML = "1";
		}
		$("page4-discount-price").innerHTML = newPrice;
		$("page4-discount-amount").innerHTML = c.selection.discount + " %";
		$("page4-pricing1-normal").innerHTML = oldPrice;
		$("page4-pricing2-normal").innerHTML = oldPrice;
		$("page4-pricing2-new").innerHTML = newPrice;
		$("page4-pricing2-discount").innerHTML = c.selection.discount + " %";
		// TODO : do print sablony zanest oldPrice vs. newPrice
		if (c.selection.discount > 0) {
			$("print-label1").innerHTML = "Běžná měsíční cena";
			$("print-price1").innerHTML = oldPrice;
			$("print-label2").innerHTML = "Vaše měsíční cena";
			$("print-price2").innerHTML = newPrice;
			$("print-label3").innerHTML = "Sleva";
			$("print-price3").innerHTML = c.selection.discount + "%";
			
		}
		else {
			$("print-label1").innerHTML = "Měsíční cena";
			$("print-price1").innerHTML = oldPrice;
			$("print-label2").innerHTML = "";
			$("print-price2").innerHTML = "";
			$("print-label3").innerHTML = "";
			$("print-price3").innerHTML = "";
		}
		// poznamka
		var note = "";
		var remainsBasic = c.selection.getRemainingCount(Config.basicCategoryId);
		var remainsExtended = c.selection.getRemainingCount(Config.extendedCategoryId);
		var products = new Array("služeb", "službu", "služby", "služby");
		if (remainsBasic > 0 && remainsExtended > 0) {
			note += 
				"Zdarma si můžete zvolit ještě " + remainsBasic +
				" " + products[remainsBasic] + " z nabídky Standard a " + remainsExtended + 
				" " + products[remainsExtended] + " z nabídky Plus.";
		}
		else if (remainsBasic > 0) {
			note += 
				"Zdarma si můžete zvolit ještě " + remainsBasic +
				" " + products[remainsBasic] + " z nabídky Standard.";
		}
		else if (remainsExtended > 0) {
			note += 
				"Zdarma si můžete zvolit ještě " + remainsExtended +
				" " + products[remainsExtended] + " z nabídky Plus.";
		}

		if (note != "") {
			$("page4-note").style.display = "block";
			$("page4-note-text").innerHTML = note;
			$("print-note").innerHTML = note != "" ? "<span class=\"caption\">Poznámka:</span>" + note : "";
		}
		else {
            $("print-note").innerHTML = "";
			$("page4-note").style.display = "none";
		}
		
		// datum
		$("print-created").innerHTML = "Vytištěno: " + Formatter.asDateTime(new Date());
		
		// promo
		//$("print-promo-standard").style.display = "block";
		//$("print-promo-exclusive").style.display = "none";
	};

	Page4.prototype.showDiscountForm = function() {
		$("page4-discount").style.visibility = "visible";
		$("page4-discount-background").style.visibility = "visible";
		$("page4-discount-pricing").style.display = "block";
	}

	Page4.prototype.closeDiscountForm = function() {
		$("page4-discount").style.visibility = "hidden";
		$("page4-discount-background").style.visibility = "hidden";
		$("page4-discount-pricing").style.display = "none";
		this.update();
		/*if (c.selection.discount > 0) {
			var oldPrice = Formatter.asCurrency(c.selection.getStandardPrice());
			var newPrice = Formatter.asCurrency(c.selection.getStandardPriceDiscounted());
			$("page4-pricing1").style.display = "none";
			$("page4-pricing2").style.display = "block";
			$("page4-pricing2-normal").innerHTML = oldPrice;
			$("page4-pricing2-new").innerHTML = newPrice;
			$("page4-pricing2-discount").innerHTML = c.selection.discount + " %";
		}*/
	}

	Page4.prototype.recalculateDiscountForm = function() {
		// UPDATE: test na sakrtnutou transakci a nenulovou hodnotu v prijmu
		var transactions = $("page4-discount-transactions").checked;
		var income = parseInt($("page4-discount-income").value);
		var billance = parseInt($("page4-discount-sum1").value) + parseInt($("page4-discount-sum2").value);
		// validita
		if (isNaN(income)) income = 0;
		if (isNaN(billance)) billance = 0;
		// test na narok na slevu
		if (!transactions) {
			if (c.products.type == Config.accountTypeAdult) {
				Info.show("Pro možnost slevy musíte mít min. 3 transakce měsíčně (z toho jedna příchozí)");
			}
			else if (c.products.type == Config.accountTypeStudent) {
				Info.show("Pro možnost slevy musíte mít min. 1 příchozí transakci měsíčně");
			}
            else if (c.products.type == Config.accountTypeJunior) {
				Info.show("Pro možnost slevy musíte mít min. 1 příchozí transakci měsíčně");
			}
			return;
		}
		if (transactions && income == 0) {
			Info.show("Vyplňte, prosím, očekávaný celkový měsíční příjem na účtu");
			return;
		}
		// kalkulace slevy
		c.selection.discount = c.products.getDiscount(transactions, income, billance);
		$("page4-discount-price").innerHTML = Formatter.asCurrency(c.selection.getStandardPriceDiscounted());
		$("page4-discount-amount").innerHTML = c.selection.discount + " %";
		this.showNextPossibleDiscount(c.selection.discount, c.selection.discount);
	}

	Page4.prototype.showNextPossibleDiscount = function(amount, target) {
		// pokud je uz sleva 100%, nema ceny zobrazovat
		if (amount == 100) {
			$("page4-discount-disclaimer").innerHTML = "";
			return;
		}
		var income = parseInt($("page4-discount-income").value);
		var billance = parseInt($("page4-discount-sum1").value) + parseInt($("page4-discount-sum2").value);
		// validita
		if (isNaN(income)) income = 0;
		if (isNaN(billance)) billance = 0;
		var html = "<p>Pro získání slevy ";
		var first = false;
		var targetDiscount = null;
		for (var i = 0; i < c.products.discounts.length; i++) {
			var discount = c.products.discounts[i];
			if (discount.amount > amount) {
				if (target == amount && !first || target != amount && target == discount.amount) {
					html += "<a class=\"selected\" href=\"javascript:c.page4.showNextPossibleDiscount(" + amount + "," + discount.amount + ")\">" + discount.amount + "%</a> ";
					first = true;
					targetDiscount = discount;
				}
				else {
					html += "<a class=\"default\" href=\"javascript:c.page4.showNextPossibleDiscount(" + amount + "," + discount.amount + ")\">" + discount.amount + "</a>% ";
				}
			}
		}
		html += " stačí navýšit:</p>";
		html += "<ul>";
		html += 	"<li>Celkový měsíční příjem na účtu o <strong>" + Formatter.asCurrency(targetDiscount.income - income) + "</strong> nebo</li>";
		html += 	"<li>Sumu uložených peněz či úvěrů celkem o <strong>" + Formatter.asCurrency(targetDiscount.billance - billance) + "</strong></li>";
		html += "</ul>";
		$("page4-discount-disclaimer").innerHTML = html;
	}

	Page4.prototype.enter = function() {
		$(this.id).style.visibility = "visible";
		$(this.id).unselectable = "on";
		$("page4-discount").style.visibility = "hidden";
		$("page4-discount-background").style.visibility = "hidden";
		if (Config.intranetMode == true && c.panel.opened) {
			c.panel.toggle();
		}
		this.update();
	};

	Page4.prototype.leave = function() {
		$(this.id).style.visibility = "hidden";
		$("page4-discount-button").style.visibility = "hidden";
	};

}

