Update lib/View/Tabs/jUItabs.php

1) We need to call ->tabs() on init method to initialize them. Otherwise it's impossible to interact with tabs widget between initialization and rendering.
2) Replaced setSelect with more general setOption which can be used like ->setOption('selected','index_of_tab_or_id_of_tab_panel). If we don't initialize tabs() widget in init method, then JUI doesn't understand tabs panel #id as 'selected' option.
3) In render() added ->tabs('option',...). It's not so important, because I guess it's used in JUI tabs by default, but... that way it looks nicer :)

Tested this and now it's working for me in both cases - when using zero-based index or id of tab panel as selected value.
UI fixes (itemized lists)
Merge pull request #116 from rvadym/master

Model_Table::titleQuery() had hardcoded sql request which will not work with sqlite
Update lib/View/Tabs/jUItabs.php

Ok, let's stick to this variant at least for now. It'll not support using tab panel tag ID as selected parameter, but still it can be used with zero-based indexes of tabs.

Also it'll help to ease setting some other JUI.Tabs options.
magic quotes are already inside the API once
Now possible to add error codes to custom except.
Merge branch 'master' of github.com:atk4/atk4
Update templates/js/start-atk4.js

This fix will resolve problems with dynamically including CSS files. Till now they was included as <style>...</style> in global context in document head. That breaks relative URLs in CSS file which we like to use almost everywhere.
So, the fix is simple - don't include CSS code directly into head, but include link to that stylesheet into head. Then nothing breaks and relative URLs in CSS file works as clock.

I don't see any drawback of this, because one extra request for CSS file is made anyway.
As far as I tested it - it works.

I'll publish small changes in autocomplete addon in a minute and then you'll be able to see how I use this. I can simply include CSS file like this and nothing breaks:
		$this->other_field->js(true)
			->_load('autocomplete_univ')
			->_css('autocomplete') // loads properly now
			->univ()->myautocomplete($url, $this, $this->options);
Update lib/Field.php

small fix in comments
Update lib/Model/Table.php

Important patch. Model_Table saves empty string values as "" and not as NULL.
In most of the cases it's OK, but problems starts when you try to save empty DATE or DATETIME values.
Then MySQL saves them as some default past date (1970-01-01 in my case on Windows).

This patch fixes this problem and I guess it can't do any bad. I'm especially checking for "0" values which should be stored as 0 and not NULL.
Merge pull request #1 from DarkSide666/patch-22

Update lib/Model/Table.php
Merge pull request #118 from DarkSide666/patch-21

Model fix for saving empty string values as NULL
Merge pull request #115 from DarkSide666/patch-19

Update lib/View/Tabs/jUItabs.php
Merge pull request #117 from DarkSide666/patch-20

Update templates/js/start-atk4.js
add migration for sqlite
Update lib/Controller/MVCForm.php

setNotNull is obsolete version of validateNotNULL.
Now we should use validateNotNull.
Update lib/Form/Field.php

setNotNull is obsolete version of validateNotNULL.
I guess it can be removed from Field class if we remove it from MVCForm with my previous fix.
Merge pull request #2 from DarkSide666/patch-24

Update lib/Form/Field.php
Update lib/Form/Field.php

_validateNotNull checked only empty string values and allowed to save NULL values without error message in form.
Merge pull request #3 from DarkSide666/patch-25

Update lib/Form/Field.php