Problem In Understanding Cjuidialog

I am working on this wiki http://www.yiiframework.com/wiki/145/cjuidialog-for-create-new-model/

here a JS function addClassroom() is given, I have following Doubts :

in the line


'data'=> "js:$(this).serialize()",



since the function is not assigned to any object, how "this" will refer to the form object?

In the line :


$('#dialogClassroom div.divForForm form').submit(addClassroom);



.submit() require a function as argument, why it is not written like .submit(addClassroom()) instead?

I am not able to understand the sequence of events, why the function addClassroom() is called again within itself?

In the line


'onclick'=>"{addClassroom(); $('#dialogClassroom').dialog('open');}"));?>



when the AJAX link is clicked , addClassroom() is executed and dialog is opened simultaneously or first addClassroom() will be executed and then dialog will be opened?

Thanks in advance