var diagnose = function(boxy) {
    alert("Position: " + boxy.getPosition() +
        "\nSize: " + boxy.getSize() +
        "\nContent size: " + boxy.getContentSize() +
        "\nCenter: " + boxy.getCenter());
};

$(function() {

    Boxy.DEFAULTS.title = 'Rychlý dotaz';

    //
    // Diagnostics

    $('#diagnostics').click(function() {
        new Boxy("<div><a href='#' onclick='diagnose(Boxy.get(this));'>Diagnose</a></div>");
        return false;
    });

    //
    // Set content

    var setContent = null;
    $('#set-content-open').click(function() {
        setContent = new Boxy(
            "<div style='background-color:red'>This is content</div>", {
                behaviours: function(c) {
                    c.hover(function() {
                        $(this).css('backgroundColor', 'green');
                    }, function() {
                        $(this).css('backgroundColor', 'pink');
                    });
                }
            }
            );
        return false;
    });
    $('#set-content').click(function() {
        setContent.setContent("<div style='background-color:blue'>This is new content</div>");
        return false;
    });

    //
    // Callbacks

    $('#after-hide').click(function() {
        new Boxy("<div>Test content</div>", {
            afterHide: function() {
                alert('after hide called');
            }
        });
        return false;
    });

    $('#before-unload').click(function() {
        new Boxy("<div>Test content</div>", {
            beforeUnload: function() {
                alert('before unload called');
            },
            unloadOnHide: true
        });
        return false;
    });

    $('#before-unload-no-auto-unload').click(function() {
        new Boxy("<div>Test content</div>", {
            beforeUnload: function() {
                alert('should not see this');
            },
            unloadOnHide: false
        });
        return false;
    });

    $('#after-drop').click(function() {
        new Boxy("<div>Test content</div>", {
            afterDrop: function() {
                alert('after drop: ' + this.getPosition());
            },
            draggable: true
        });
        return false;
    });

    $('#after-show').click(function() {
        new Boxy("<div>Test content</div>", {
            afterShow: function() {
                alert('after show: ' + this.getPosition());
            }
        });
        return false;
    });

    //
    // Z-index

    var zIndex = null;
    $('#z-index').click(function() {
        zIndex = new Boxy(
            "<div>Test content</div>", {
                clickToFront: true
            }
            );
        return false;
    });

    $('#z-index-latest').click(function() {
        zIndex.toTop();
        return false;
    });

    //
    // Modals

    function newModal() {
        new Boxy("<form action='#top' method='post' id='popUpform'><fieldset><label for='name'><span>Vaše jméno </span><span class='red'>*</span><br /><input type='text' placeholder='př.: Jan' class='text' name='name' id='name' value='' /></label></fieldset><fieldset><label for='surname'><span>Vaše příjmení </span><span class='red'>*</span><br /><input type='text' placeholder='př.: Novák' class='text' name='surname' id='surname' value='' /></label></fieldset><fieldset><label for='contact'> <span>Kontakt na Vás <small>(email, telefon) </small></span><span class='red'>*</span><br /><input type='text' placeholder='př.: jan.novak@email.cz, 603 123 456' class='text' name='contact' id='contact' value='' /></label></fieldset><fieldset><label for='text'> <span>Váš dotaz </span><span class='red'>*</span><br /> <textarea type='text' placeholder='text Vaší zprávy' class='text' name='text' id='text' value='' rows='8' ></textarea></label></fieldset><fieldset><input type='image' src='/images/sendForm.gif' onclick='' class='sendBtn' /></fieldset></form><div><span class='red'>*</span> Políčka označená tímto symbolem jsou povinná.</div>", {
            modal: true,
            behaviours: function(c) {
                c.find('a:first').click(function() {
                    newModal();
                });
            }
        });
    }

    $('#modal').click(newModal);

    function newModalOrderForm() {
        new Boxy("<form action='#top' method='post' id='popUpform' class='orderForm'><fieldset> <label for='orderFormVoucherType'> <span>Zvolte zážitek</span> <span class='red'>*</span> <br> <select name='orderFormVoucherType' id='orderFormVoucherType'> <option value='1 Skakaci boty'>Skákací boty</option> <option value='2 Tri v jednom'>Tři v jednom</option></select></label></fieldset><fieldset> <label for='orderFormPeopleCount'><span>Počet osob</span> <span class='red'>*</span><br> <select name='orderFormPeopleCount'><optgroup label='1 osoba'> <option value='1 osoba: 1hod - 00600 Kč'>1hod - 600,- Kč</option> <option value='1 osoba: 2hod - 01000 Kč'>2hod - 1 000,- Kč</option></optgroup><optgroup label='2 osoby'> <option value='2 osoby: 1,5hod - 01200 Kč'>1,5 hod - 1 200,- Kč</option></optgroup><optgroup label='3 osoby'> <option value='3 osoby: 2hod - 01500 Kč'>2 hodiny - 1 500,- Kč</option></optgroup><optgroup label='4 osoby'> <option value='4 osoby: 2,5hod - 02000 Kč'>2,5 hodiny - 2 000,- Kč</option></optgroup><optgroup label='5 osob'> <option value='5 osob: 3hod - 02500 Kč'>3 hodiny - 2 500,- Kč</option></optgroup></select></label></fieldset><fieldset> <label for='orderFormDeliveryMethod'><span>Způsob doručení</span> <span class='red'>*</span><br> <select name='orderFormDeliveryMethod'><option value='Emailem (platba převodem nebo PayPal) - 000 Kč'>Emailem (platba převodem nebo PayPal)</option> <option value='Osobní odběr zalaminovaného poukazu - 050 Kč'>Osobní odběr zalaminovaného poukazu (+ 50,- Kč)</option> <option value='Pošta - 060 Kč'>Poštou - platba předem (+ 60,- Kč)</option> <option value='Dobírka - 080 Kč'>Dobírkou (+ 80,- Kč)</option></select></label></fieldset><fieldset> <label for='finalPrice'><span>Konečná cena:</span> <br> <input type='text' class='text' name='finalPrice' id='finalPrice' value='0' disabled></label></fieldset><fieldset> <label for='name'><span>Vaše jméno a adresa</span> <span class='red'>*</span><br> <input type='text' class='text' name='name' id='name' value=''></label></fieldset><fieldset> <label for='email'><span>Email</span> <span class='red'>*</span><br> <input type='text' class='text' name='email' id='email' value='@'></label></fieldset><fieldset> <label for='tel'><span>Telefon</span> <span class='red'>*</span><br> <input type='text' class='text' name='tel' id='tel' value=''></label></fieldset><fieldset><label for='text'> <span>Poznámka (poukaz na jméno...) </span><span class='red'>*</span><br /> <textarea type='text' placeholder='Máte-li zájem o více dárkových poukazů, odešlete objednávku pro každý poukaz zvlášť. Po předchozí domluvě je samozřejmě možné uplatnit více poukazů ve stejný čas. V takovém případě se doba půjčování patřičně prodlužuje. Není problím vytvořit poukaz na míru dle Vašich požadavků' class='text' name='text' id='text' value='' rows='8' ></textarea></label></fieldset><fieldset><input type='image' src='/images/sendForm.gif' onclick='' class='sendBtn'></fieldset></form><div> <span class='red'>*</span> Políčka označená tímto symbolem jsou povinná.</div>", {
                modal: true,
                behaviours: function(c) {
                    c.find('a:first').click(function() {
                        newModal();
                    });
                }
            });

        function initOrderForm(){
			var form = $('#popUpform.orderForm');
			var orderFormVoucherType = $(form).find('#orderFormVoucherType');
			var orderFormPeopleCount = $(form).find('select[name="orderFormPeopleCount"]');
			var orderFormPeopleCountContent = $(orderFormPeopleCount).html();
			var orderFormPeopleCountContentChoice2 = $(
			"<optgroup label='1 osoba'>\
					<option value='1 osoba: 3hod - 02000 Kč'>2hod - 2 000,- Kč</option>\
					<option value='1 osoba: 4hod - 02600 Kč'>3hod - 2 600,- Kč</option>\
					<option value='1 osoba: 5hod - 03000 Kč'>4hod - 3 000,- Kč</option>\
			</optgroup>");

			var deliveryMethod = $(form).find('select[name="orderFormDeliveryMethod"]');
			var finalPriceInput = $(form).find('input[name="finalPrice"]');

			/* Price calculating */
			function countFinalPriceInForm(){
				var peoplePrice = $(orderFormPeopleCount).val();
				peoplePrice = peoplePrice.substr(peoplePrice.length - 8, 5);

				var deliveryPrice = $(deliveryMethod).val();
				deliveryPrice = deliveryPrice.substr(deliveryPrice.length - 6, 3);

				$(finalPriceInput).val((parseInt(peoplePrice,10) + parseInt(deliveryPrice,10)) + ' Kč');

			}
			$(orderFormPeopleCount).change(function(){
				countFinalPriceInForm();
			});
			$(deliveryMethod).change(function(){
				countFinalPriceInForm();
			});
			countFinalPriceInForm();

			/* Voucher type switchig */
			$(orderFormVoucherType).change(function(){
				var choice = parseInt($(this).val().substr(0, 1));
				switch (choice){
					case 1:
						$(orderFormPeopleCount).html(orderFormPeopleCountContent);
						break;
					case 2:
						$(orderFormPeopleCount).html(orderFormPeopleCountContentChoice2);
						break;
				}
				countFinalPriceInForm();
			}).trigger('change');
        }
        initOrderForm();
    }

    $('#modalOrderForm').click(newModalOrderForm);

    //
    // No-show

    var noShow;
    $('#no-show').click(function() {
        noShow = new Boxy("<div>content</div>", {
            show: false
        });
        return false;
    });

    $('#no-show-now').click(function() {
        noShow.show();
        return false;
    });

    // Actuator

    $('#actuator').click(function() {
        var ele = $('#actuator-toggle')[0];
        new Boxy("<div>test content</div>", {
            actuator: ele,
            show: false
        });
        return false;
    });
    $('#actuator-toggle').click(function() {
        Boxy.linkedTo(this).toggle();
        return false;
    });

});

