$(function() {
    $.fn.dialog_form = function(options){
	var FormLink = this;
	var intervalID = 0;
	
	var defaults = 
	    {
		form_url : '/form_json',
		form_id : "#form",
		dialog_div: "#dialog",
		thanks_div : "#thanks"
	    }
	
	var options = $.extend(defaults, options);
	
	var DialogDiv = $(options.dialog_div),
            ThanksDiv = $(options.thanks_div);

	function dialog_callback(raw) {
            var data = $.evalJSON(raw);
            if(data.status == "form") {
		DialogDiv.html(data.html);
            } else if (data.status == "thanks") {
		DialogDiv.dialog('close');
    		ThanksDiv.dialog('open').load(data.url);
            }
	};
	
	//Override the click behavior of our form link
	FormLink.click(function (event) {
            event.preventDefault();
            DialogDiv.dialog("open");
	    $.get(options.form_url, dialog_callback);
	});
	
	DialogDiv.dialog({
	    bgiframe: true,
	    autoOpen: false,
	    height: 600,
	    width: 450,
	    modal: true,
	    buttons: {
		'Submit': function() {
		    // Create jquery obj here, because form does not exist earlier
		    var form_data = $(options.form_id).serialize();
                    $.post(options.form_url, form_data, dialog_callback);
		},
		Cancel: function() {
		    $(this).dialog('close');
		}
	    },
	    open: function(event,ui) {
		$('#ui-datepicker-div').css('z-index',102767);
	    },
	    close: function(event,ui) {
		$('#ui-datepicker-div').css('z-index',null);
	    }
	});
	
	ThanksDiv.dialog({
	    bgiframe: true,
	    autoOpen: false,
	    modal: true,
	    buttons: {
		Ok: function() {
		    $(this).dialog('close');
		}
	    }
	});
    }
});


