$(function() {

	var ap = false;
	if ($(document).getUrlParam("ap") == 'true') {
		ap = true;
	}
        var wi = $(document).getUrlParam("wi");
        if (wi != null) {
	    $("label[for='customer']").show();
	    $("#prefill_help").show();
            var url = "/ajax.cgi?type=prefill&q="+wi;

            $.getJSON(url, function(data) {
                    $("#company_name").val(data.company_name);
                    $("#cperson_name").val(data.contactperson_name);
                    $("#phone").val(data.contactperson_phone);
                    $("#email").val(data.contactperson_email);
            });
        }
        else {
            $("#talsa").hide();
            $("#radio").hide();
        }

        if ($(document).getUrlParam("mobisites") == "true") {
                $("input[name='mobisites']").attr("checked", "checked");
        }
        if ($(document).getUrlParam("websites") == "true") {
                $("input[name='websites']").attr("checked", "checked");
        }
        if ($(document).getUrlParam("webshops") == "true") {
                $("input[name='webshops']").attr("checked", "checked");
        }
        if ($(document).getUrlParam("directory") == "true") {
                $("input[name='directory']").attr("checked", "checked");
        }
        if ($(document).getUrlParam("talsa") == "true") {
                $("input[name='talsa']").attr("checked", "checked");
                $("label[for='email']").text("Sähköposti: *");
        }
        if ($(document).getUrlParam("hotel") == "true") {
                $("input[name='hotel']").attr("checked", "checked");
        }
        if ($(document).getUrlParam("radio") == "true") {
                $("input[name='radio']").attr("checked", "checked");
        }

        var company_name = $("#company_name"),
                cperson_name = $("#cperson_name"),
                phone = $("#phone"),
                email = $("#email"),
                selections = $("#selections"),
                allFields = $([]).add(company_name).add(cperson_name).add(phone).add(email).add(selections),
                tips = $("#validateTips");

        function updateTips(t, h) {
                if (h == true) {
                  //tips.removeAttr('style');
                  tips.text(t);//.effect("highlight",{color: "red"},2500);
                }
                else {
                  tips.text(t);
                }
        }

        function checkLength(o,n,min,max) {

                /*if (o.val().length > max) {
                        o.addClass('ui-state-error');
                        updateTips("Length of " + n + " must be between "+min+" and "+max+".");
                        return false;
                else */
                if ( o.val().length < min ) {
                        o.addClass('ui-state-error');
                        updateTips(n, true);
                        return false;
                }
                else {
                        return true;
                }
        }

        function checkRegexp(o,regexp,n) {

                if ( !( regexp.test( o.val() ) ) ) {
                        o.addClass('ui-state-error');
                        updateTips(n, true);
                        return false;
                } else {
                        return true;
                }

        }

        function checkSelection(o, n, min) {
                var count=0;
                $(o+":checked").each(function(i, selected){
                        count++;
                });
                if (count < min) {
                        $("#selections").addClass('ui-state-error');
                        updateTips(n, true);
                        return false;
                }
                else {
                        return true;
                }
        }

        $("#dialog").dialog({
                bgiframe: true,
                autoOpen: ap,
                width: 350,
                /*height: 550,
                minHeight: 550,*/
                modal: true,
                buttons: {
                        'Lähetä': function() {
                                var bValid = true;
                                allFields.removeClass('ui-state-error');

                                bValid = bValid && checkSelection(selections, "Valitse vähintään yksi palvelu", 1);

                                bValid = bValid && checkLength(company_name, "Yrityksen nimi on pakollinen kenttä.",1, 256);
                                bValid = bValid && checkLength(cperson_name, "Yhteyshenkilön nimi on pakollinen kenttä.",1, 256);
                                bValid = bValid && checkLength(phone, "Puhelinnumero on pakollinen kenttä.", 1, 60);

                                if ($("input[name='talsa']").is(":checked")) {
                                        bValid = bValid && checkLength(email, "Sähköposti on pakollinen kenttä.", 1, 256);
                                }

                                if (bValid) {
                                        var eid = $(document).getUrlParam("eid");
                                        if (eid == null) {
                                            eid = "";
                                        }
                                         var wi = $(document).getUrlParam("wi");
                                        if (wi == null) {
                                            wi = "";
                                        }
                                        var dbl = $(document).getUrlParam("dbl");
                                        if (dbl == null) {
                                            dbl = "";
                                        }
                                        var params = "";
                                        params = "company_name=" + company_name.val() + "&contactperson_name=" +
                                                  cperson_name.val() + "&phone=" + phone.val() + "&email=" + email.val() +
                                                  "&eid=" + eid + "&wi" + wi + "&selects=";
					
                                        $("form :checkbox:checked").each(function(){
                                                params += $(this).attr('name') + ",";
                                        });
                                        params += "&type=contact_request";
                                        $.post("ajax.php", params, function(data) {
                                                $("#dialog").html("Kiitos, olemme vastaanottaneet palvelupyyntönne ja käsittelemme sen ensi tilassa.");
                                                $(".ui-dialog-buttonpane").hide();
                                        }, "json");

                                        //$(this).dialog('close');
                                        /*$("#dialog").html("Ok");
                                        $(".ui-dialog-buttonpane").hide();*/
                                }
                        },
                        'Peruuta': function() {
                                $(this).dialog('close');
                        }
                },
                close: function() {
                        allFields.removeClass('ui-state-error');
                }
        });



        $('.contact-form').click(function() {
                $('#dialog').dialog('open');
                return false;
        })
        /*.hover(
                function(){
                        $(this).addClass("ui-state-hover");
                },
                function(){
                        $(this).removeClass("ui-state-hover");
                }
        ).mousedown(function(){
                $(this).addClass("ui-state-active");
        })
        .mouseup(function(){
                        $(this).removeClass("ui-state-active");
        })*/;

        $("form").click(function() {
                allFields.removeClass('ui-state-error');
                updateTips("Täytä kaikki tähdellä (*) merkityt kentät.", false);
        });

        /*$("input[name='talsa']").click(function() {
                if ($("input[name='talsa']").is(":checked")) {
                  $("label[for='email']").text("Sähköposti: *");
                }
                else {
                  $("label[for='email']").text("Sähköposti:");
                }
        });*/

});




