<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8421650938130481857</id><updated>2011-12-19T08:30:38.616-08:00</updated><category term='C#'/><category term='seo'/><category term='Партнерки'/><category term='мысли'/><category term='jQuery'/><category term='Instant Evil (IE)'/><category term='tools'/><category term='javascript'/><category term='проекты'/><category term='php'/><category term='virus'/><category term='базы данных'/><category term='symfony'/><category term='юмор'/><category term='программирование'/><category term='не webdev'/><category term='я'/><title type='text'>Snowcore's блог</title><subtitle type='html'>Fundless in kharkov или Где взять стартовый капитал</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://snowcore.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://snowcore.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>33</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8421650938130481857.post-1913033388248304818</id><published>2009-01-30T05:40:00.000-08:00</published><updated>2009-01-30T05:42:29.346-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='не webdev'/><category scheme='http://www.blogger.com/atom/ns#' term='я'/><title type='text'>Never Ending Edge</title><content type='html'>Вот писал я все время только о веб программировании... Но я много чего понял и появился у меня еще один блог - &lt;a href="http://needge.net"&gt;needge&lt;/a&gt;&lt;br /&gt;&lt;script src="http://odnaknopka.ru/ok3.utf8.js"&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8421650938130481857-1913033388248304818?l=snowcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://snowcore.blogspot.com/feeds/1913033388248304818/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8421650938130481857&amp;postID=1913033388248304818' title='Комментарии: 3'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/1913033388248304818'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/1913033388248304818'/><link rel='alternate' type='text/html' href='http://snowcore.blogspot.com/2009/01/never-ending-edge.html' title='Never Ending Edge'/><author><name>unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8421650938130481857.post-1983282723610153219</id><published>2008-11-25T05:00:00.000-08:00</published><updated>2008-11-25T05:08:09.278-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='symfony'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><category scheme='http://www.blogger.com/atom/ns#' term='проекты'/><title type='text'>vteatre.com - мой новый небольшой проект</title><content type='html'>Идея создания данного ресурса появилась у меня давно. Захотелось реализовать на symfony 1.1&lt;br /&gt;Проект находится на стадии разработки.&lt;br /&gt;Пока доступна стартовая страница - всем добро пожаловать на &lt;a href="http://vteatre.com"&gt;http://vteatre.com&lt;/a&gt; !&lt;br /&gt;&lt;script src="http://odnaknopka.ru/ok3.utf8.js"&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8421650938130481857-1983282723610153219?l=snowcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://snowcore.blogspot.com/feeds/1983282723610153219/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8421650938130481857&amp;postID=1983282723610153219' title='Комментарии: 9'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/1983282723610153219'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/1983282723610153219'/><link rel='alternate' type='text/html' href='http://snowcore.blogspot.com/2008/11/vteatrecom.html' title='vteatre.com - мой новый небольшой проект'/><author><name>unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8421650938130481857.post-6608562539146951124</id><published>2008-06-20T07:12:00.000-07:00</published><updated>2008-06-20T07:17:36.879-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='virus'/><category scheme='http://www.blogger.com/atom/ns#' term='seo'/><title type='text'>ICQ 12111 System</title><content type='html'>Весь мир вздрогнул!&lt;br /&gt;20.06.2008 у всех абонентов ICQ появился номер 12111 в группе General. Это троян - удаляйте его и меняйте пароль. Ходят слухи, что AOL number 12111 - это все проделки AOL, но это все-таки вирус! Так что остерегайтесь номера аськи 12111 - если вам не удается его удалить, перезапустите аську и снова попробуйте. Иначе - воспользуйтесь менеджером контактов (можна найти на сайте qip.ru).&lt;br /&gt;&lt;br /&gt; Мочите 12111 в своем QIP !!!&lt;br /&gt;&lt;script src="http://odnaknopka.ru/ok3.utf8.js"&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8421650938130481857-6608562539146951124?l=snowcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://snowcore.blogspot.com/feeds/6608562539146951124/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8421650938130481857&amp;postID=6608562539146951124' title='Комментарии: 9'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/6608562539146951124'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/6608562539146951124'/><link rel='alternate' type='text/html' href='http://snowcore.blogspot.com/2008/06/icq-12111-system.html' title='ICQ 12111 System'/><author><name>unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8421650938130481857.post-308364297175845601</id><published>2008-05-08T04:40:00.000-07:00</published><updated>2008-05-08T04:42:08.013-07:00</updated><title type='text'>Уррррряяяяяя!!!</title><content type='html'>Наконец-то я сделал это!&lt;br /&gt;&lt;br /&gt;Буду собирать вещи и перебираться потихоньку на &lt;a href="http://snowcore.net"&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;snowcore.net&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;script src="http://odnaknopka.ru/ok3.utf8.js"&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8421650938130481857-308364297175845601?l=snowcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://snowcore.blogspot.com/feeds/308364297175845601/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8421650938130481857&amp;postID=308364297175845601' title='Комментарии: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/308364297175845601'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/308364297175845601'/><link rel='alternate' type='text/html' href='http://snowcore.blogspot.com/2008/05/blog-post.html' title='Уррррряяяяяя!!!'/><author><name>unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8421650938130481857.post-8614553222820755280</id><published>2008-04-10T07:30:00.000-07:00</published><updated>2008-04-10T07:33:45.271-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Instant Evil (IE)'/><title type='text'>Quirks Mode ... IE</title><content type='html'>Все... моему терпению уже нет конца... В связи с этим на моем блоге поселяется новая картинка НАВСЕГДА (смотрите правый верхний угол).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;script src="http://odnaknopka.ru/ok3.utf8.js"&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8421650938130481857-8614553222820755280?l=snowcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://snowcore.blogspot.com/feeds/8614553222820755280/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8421650938130481857&amp;postID=8614553222820755280' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/8614553222820755280'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/8614553222820755280'/><link rel='alternate' type='text/html' href='http://snowcore.blogspot.com/2008/04/quirks-mode-ie.html' title='Quirks Mode ... IE'/><author><name>unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8421650938130481857.post-2299399755498853185</id><published>2008-04-04T07:15:00.000-07:00</published><updated>2008-04-04T07:40:02.865-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><title type='text'>Prevent text selection или отмена выделения текста</title><content type='html'>При разработке клиентской части приложения иногда нужно отменить выделение текста, которое делает браузер при двойном клике на элементе или при drag'n'drop.&lt;br /&gt;Этого можно избежать, используя объект &lt;span style="font-weight: bold;"&gt;document.selection&lt;/span&gt;.&lt;br /&gt;Пишем простую функцию, которая отменяет выделение текста и задаем ее на соответствующее событие:&lt;br /&gt;&lt;br /&gt;&lt;div class="javascript"  style="color: rgb(0, 0, 0);font-family:monospace;"&gt;&lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;function&lt;/span&gt; clearSelection&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;var&lt;/span&gt; sel;&lt;br /&gt;       &lt;span style="color: rgb(0, 0, 102); font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;document.&lt;span style="color: rgb(0, 102, 0);"&gt;selection&lt;/span&gt; &amp;amp;&amp;amp; document.&lt;span style="color: rgb(0, 102, 0);"&gt;selection&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;empty&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;           document.&lt;span style="color: rgb(0, 102, 0);"&gt;selection&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;empty&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;       &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(0, 0, 102); font-weight: bold;"&gt;else&lt;/span&gt; &lt;span style="color: rgb(0, 0, 102); font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;window.&lt;span style="color: rgb(0, 102, 0);"&gt;getSelection&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;           sel = window.&lt;span style="color: rgb(0, 102, 0);"&gt;getSelection&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;           &lt;span style="color: rgb(0, 0, 102); font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;sel &amp;amp;&amp;amp; sel.&lt;span style="color: rgb(0, 102, 0);"&gt;removeAllRanges&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;br /&gt;               sel.&lt;span style="color: rgb(0, 102, 0);"&gt;removeAllRanges&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;       &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;a href="http://syhi.stworks.ru/" style="display: block; text-align: right; font-size: 9px;"&gt;Syhi-подсветка кода&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;А еще проще (и лучше ;-) - используем jQuery плагин &lt;span style="font-weight: bold; color: rgb(0, 153, 0);"&gt;jQuery Disable Text Select Plugin&lt;/span&gt; &lt;a href="http://www.jdempster.com/2007/07/14/jquery-disable-text-select/"&gt;http://www.jdempster.com/2007/07/14/jquery-disable-text-select/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Подключаем единственный файл jquery.disable.text.select.js и задаем отмену выделения текста для нужных элементов:&lt;br /&gt;&lt;br /&gt;&lt;div class="javascript" style="font-family: monospace; color: #000000;"&gt;$&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #3366CC;"&gt;&amp;quot;#wrapper&amp;quot;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;.&lt;span style="color: #006600;"&gt;disableTextSelect&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;a href="http://syhi.stworks.ru/"  style="display: block; text-align: right; font-size: 9px;"&gt;Syhi-подсветка кода&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;script src="http://odnaknopka.ru/ok3.utf8.js"&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8421650938130481857-2299399755498853185?l=snowcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://snowcore.blogspot.com/feeds/2299399755498853185/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8421650938130481857&amp;postID=2299399755498853185' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/2299399755498853185'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/2299399755498853185'/><link rel='alternate' type='text/html' href='http://snowcore.blogspot.com/2008/04/prevent-text-selection.html' title='Prevent text selection или отмена выделения текста'/><author><name>unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8421650938130481857.post-3832396920673651070</id><published>2008-04-02T06:47:00.000-07:00</published><updated>2008-04-02T07:05:21.255-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><title type='text'>jQuery Обработка щелчка правой кнопки мыши</title><content type='html'>Долго возился, никак не мог найти как задать этот обработчик. Я использую livequery plugin.&lt;br /&gt; Задать обработку можно так:&lt;br /&gt;&lt;br /&gt;&lt;div class="javascript" style="font-family: monospace; color: #000000;"&gt;$&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #3366CC;"&gt;&amp;quot;.pixel&amp;quot;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;.&lt;span style="color: #006600;"&gt;livequery&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #3366CC;"&gt;'contextmenu'&lt;/span&gt;, &lt;span style="color: #003366; font-weight: bold;"&gt;function&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #009900; font-style: italic;"&gt;// do something ...&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #000066; font-weight: bold;"&gt;return&lt;/span&gt; &lt;span style="color: #003366; font-weight: bold;"&gt;false&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;a href="http://syhi.stworks.ru/"  style="display: block; text-align: right; font-size: 9px;"&gt;Syhi-подсветка кода&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;script src="http://odnaknopka.ru/ok3.utf8.js"&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8421650938130481857-3832396920673651070?l=snowcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://snowcore.blogspot.com/feeds/3832396920673651070/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8421650938130481857&amp;postID=3832396920673651070' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/3832396920673651070'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/3832396920673651070'/><link rel='alternate' type='text/html' href='http://snowcore.blogspot.com/2008/04/jquery.html' title='jQuery Обработка щелчка правой кнопки мыши'/><author><name>unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8421650938130481857.post-3079092423923698586</id><published>2008-03-26T00:52:00.000-07:00</published><updated>2008-11-13T15:07:30.508-08:00</updated><title type='text'>Учимся достигать целей</title><content type='html'>Наконец-то ты начинаю побеждать себя, практически, во всем. Больше никакой лени и безответственности! Как приятно это ощущать!&lt;br /&gt;Ну что ж, теперь могу достигать большего...&lt;br /&gt;Первая цель - Atom MX 2.0&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_dnS89WGz6Yg/R-oCRUwWeTI/AAAAAAAAACc/eZ0Jgazo7ZE/s1600-h/atom_mx_black.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_dnS89WGz6Yg/R-oCRUwWeTI/AAAAAAAAACc/eZ0Jgazo7ZE/s320/atom_mx_black.jpg" alt="" id="BLOGGER_PHOTO_ID_5181956817895717170" border="0" /&gt;&lt;/a&gt;  Я люблю экстрим, давно себе хотел нормальный велик. Мне очень понравился этот экстремальный хардтейл с оборудованием любительского класса SRAM 3.0, 21 скорость. Алюминиевая рама Oversize-reinforced 7005. Передний амортизатор Suntour XCR, 120mm, регулируемый. Двойные обода Weinman ZAC2000DW. Тормоза дисковый механический Tectro IO/Promax V.Подходит для активной езды по различным дорогам и пересеченной местности.&lt;br /&gt;И цена за этого красавчика просто смешная - чуть больше $300&lt;br /&gt;&lt;br /&gt;&lt;script src="http://odnaknopka.ru/ok3.utf8.js"&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8421650938130481857-3079092423923698586?l=snowcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://snowcore.blogspot.com/feeds/3079092423923698586/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8421650938130481857&amp;postID=3079092423923698586' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/3079092423923698586'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/3079092423923698586'/><link rel='alternate' type='text/html' href='http://snowcore.blogspot.com/2008/03/blog-post_26.html' title='Учимся достигать целей'/><author><name>unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_dnS89WGz6Yg/R-oCRUwWeTI/AAAAAAAAACc/eZ0Jgazo7ZE/s72-c/atom_mx_black.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8421650938130481857.post-5840260108748715383</id><published>2008-03-21T00:43:00.000-07:00</published><updated>2008-11-13T15:07:30.586-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='я'/><category scheme='http://www.blogger.com/atom/ns#' term='юмор'/><title type='text'>Новый проект :-)</title><content type='html'>С сегодняшнего утра объявил себе войну по поводу утренней зарядки. Все никак не мог начать ее делать постоянно. Поэтому прицепил на дверь напоминание:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_dnS89WGz6Yg/R_8R4ciaZqI/AAAAAAAAACs/RuQtY2RKS7s/s1600-h/%28reflect%29%D0%97%D0%B0%D1%80%D1%8F%D0%B4%D0%BA%D0%BEBETA.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_dnS89WGz6Yg/R_8R4ciaZqI/AAAAAAAAACs/RuQtY2RKS7s/s320/%28reflect%29%D0%97%D0%B0%D1%80%D1%8F%D0%B4%D0%BA%D0%BEBETA.png" alt="" id="BLOGGER_PHOTO_ID_5187884957184976546" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Пока это бета-версия... Но скоро будет stable release!&lt;br /&gt;Желаю всем находить силы для борьбы с самим собой это &lt;span style="font-weight: bold;"&gt;ОЧЕНЬ ВАЖНО &lt;/span&gt;!!!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;script src="http://odnaknopka.ru/ok3.utf8.js"&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8421650938130481857-5840260108748715383?l=snowcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://snowcore.blogspot.com/feeds/5840260108748715383/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8421650938130481857&amp;postID=5840260108748715383' title='Комментарии: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/5840260108748715383'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/5840260108748715383'/><link rel='alternate' type='text/html' href='http://snowcore.blogspot.com/2008/03/blog-post.html' title='Новый проект :-)'/><author><name>unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_dnS89WGz6Yg/R_8R4ciaZqI/AAAAAAAAACs/RuQtY2RKS7s/s72-c/%28reflect%29%D0%97%D0%B0%D1%80%D1%8F%D0%B4%D0%BA%D0%BEBETA.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8421650938130481857.post-1320218081241426542</id><published>2008-03-05T02:58:00.000-08:00</published><updated>2008-03-05T04:05:07.017-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><title type='text'>jQuery binding events problem</title><content type='html'>При использовании ajax запросов и изменении DOM дерева налету не всегда срабатывают функции-обработчики событий для добавленных элементов в документе. Пример:&lt;br /&gt;&lt;br /&gt;&lt;div class="javascript"  style="color: rgb(0, 0, 0);font-family:monospace;"&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;// Получаем html код и вставляем его в div&lt;/span&gt;&lt;br /&gt;$&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 102, 204);"&gt;"#grid_toolbar"&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;load&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 102, 204);"&gt;"./ajax/toolbar_menu/users.inc"&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;// Задаем обработчик для нового элемента&lt;/span&gt;&lt;br /&gt;$&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 102, 204);"&gt;"#delete"&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;click&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;function&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;    $&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 102, 204);"&gt;"#grid"&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;empty&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;a href="http://syhi.stworks.ru/" style="display: block; text-align: right; font-size: 9px;"&gt;Syhi-подсветка кода&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Такой способ, к сожалению, не будет работать.&lt;br /&gt;В этой ситуации поможет специальный плагин &lt;span style="font-weight: bold;"&gt;livequery&lt;/span&gt;: &lt;a href="http://docs.jquery.com/Plugins/livequery"&gt;http://docs.jquery.com/Plugins/livequery&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Подключаем единственный файл &lt;span style="font-weight: bold;"&gt;jquery.livequery.js &lt;/span&gt;и переписываем код:&lt;br /&gt;&lt;br /&gt;&lt;div class="javascript" style="font-family: monospace; color: #000000;"&gt;&lt;span style="color: #009900; font-style: italic;"&gt;// Загружаем также ;-)&lt;/span&gt;&lt;br /&gt;$&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #3366CC;"&gt;&amp;quot;#grid_toolbar&amp;quot;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;.&lt;span style="color: #006600;"&gt;load&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #3366CC;"&gt;&amp;quot;./ajax/toolbar_menu/users.inc&amp;quot;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #009900; font-style: italic;"&gt;// А здесь уже задаем обработчики при помощи livequery&lt;/span&gt;&lt;br /&gt;$&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #3366CC;"&gt;&amp;quot;#delete&amp;quot;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;.&lt;span style="color: #006600;"&gt;livequery&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #3366CC;"&gt;'click'&lt;/span&gt;, &lt;span style="color: #003366; font-weight: bold;"&gt;function&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;event&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; $&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #3366CC;"&gt;&amp;quot;#grid&amp;quot;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;.&lt;span style="color: #006600;"&gt;empty&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;a href="http://syhi.stworks.ru/"  style="display: block; text-align: right; font-size: 9px;"&gt;Syhi-подсветка кода&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;script src="http://odnaknopka.ru/ok3.utf8.js"&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8421650938130481857-1320218081241426542?l=snowcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://snowcore.blogspot.com/feeds/1320218081241426542/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8421650938130481857&amp;postID=1320218081241426542' title='Комментарии: 3'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/1320218081241426542'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/1320218081241426542'/><link rel='alternate' type='text/html' href='http://snowcore.blogspot.com/2008/03/jquery-bind-events.html' title='jQuery binding events problem'/><author><name>unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8421650938130481857.post-4823980104316761107</id><published>2008-03-04T04:52:00.000-08:00</published><updated>2008-03-05T03:10:08.129-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='программирование'/><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><title type='text'>Javascript ошибки</title><content type='html'>Сейчас разруливаю jQuery framework - отличная разработка! Много готовых и расширяемых инструментов. Не мог разобраться с одной ошибкой около часа. В итоге понял, в чем дело... поэтому пишу заметку в блог: если ищешь javascript ошибку больше, чем полчаса - посмотри в &lt;span style="font-weight: bold;"&gt;правильном ли порядке ты подключаешь скрипты&lt;/span&gt; !!!&lt;br /&gt;&lt;br /&gt;&lt;script src="http://odnaknopka.ru/ok3.utf8.js"&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8421650938130481857-4823980104316761107?l=snowcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://snowcore.blogspot.com/feeds/4823980104316761107/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8421650938130481857&amp;postID=4823980104316761107' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/4823980104316761107'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/4823980104316761107'/><link rel='alternate' type='text/html' href='http://snowcore.blogspot.com/2008/03/javascript.html' title='Javascript ошибки'/><author><name>unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8421650938130481857.post-5847225334624101250</id><published>2008-02-29T05:11:00.000-08:00</published><updated>2008-11-13T15:07:30.731-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='я'/><title type='text'>Тонкая Красная Нить</title><content type='html'>Обалдеть! Чисто случайно наткнулся на альбом этих Харьковских ребят. Теперь уже целую неделю в плейлисте - только они. &lt;span style="font-weight: bold;font-size:24;" &gt;СУПЕР!!!&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_dnS89WGz6Yg/R8gFbblGbGI/AAAAAAAAACM/UXohF2kICEQ/s1600-h/tkn.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_dnS89WGz6Yg/R8gFbblGbGI/AAAAAAAAACM/UXohF2kICEQ/s320/tkn.jpg" alt="" id="BLOGGER_PHOTO_ID_5172390140852989026" border="0" /&gt;&lt;/a&gt;Всем советую!!!&lt;br /&gt;Страница вконтакте - &lt;a href="http://vkontakte.ru/club447030"&gt;http://vkontakte.ru/club447030&lt;/a&gt;&lt;br /&gt;Сайт группы - &lt;a href="http://www.tkn.com.ua/"&gt;www.tkn.com.ua&lt;/a&gt;&lt;br /&gt;И, собственно говоря, альбомчик - &lt;a href="http://www.tkn.com.ua/mp3/tkn-106%28ep%29%282008%29.rar"&gt;www.tkn.com.ua/mp3/tkn-106(ep)(2008).rar&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:24;" &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;script style="font-size: 24px;" src="http://odnaknopka.ru/ok3.utf8.js"&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8421650938130481857-5847225334624101250?l=snowcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://snowcore.blogspot.com/feeds/5847225334624101250/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8421650938130481857&amp;postID=5847225334624101250' title='Комментарии: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/5847225334624101250'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/5847225334624101250'/><link rel='alternate' type='text/html' href='http://snowcore.blogspot.com/2008/02/blog-post.html' title='Тонкая Красная Нить'/><author><name>unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_dnS89WGz6Yg/R8gFbblGbGI/AAAAAAAAACM/UXohF2kICEQ/s72-c/tkn.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8421650938130481857.post-8383983433016444115</id><published>2008-02-05T01:03:00.000-08:00</published><updated>2008-02-05T01:09:45.311-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='базы данных'/><title type='text'>MySQL и кодировки</title><content type='html'>Иногда при работе с MySQL возникают ошибки, связанные с кодировкой (например, вместо русских символов - знаки вопроса).&lt;br /&gt; Эта проблема решается легко при помощи одного из следующих запросов:&lt;br /&gt;&lt;br /&gt;&lt;div class="mysql" style="font-family: monospace; color: #000000;"&gt;mysql_query&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;'SET NAMES &amp;quot;cp1251&amp;quot;'&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;mysql_query&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;quot;SET collation_connection = 'cp1251_general_ci'&amp;quot;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;mysql_query&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;quot;SET collation_server = 'cp1251_general_ci'&amp;quot;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;mysql_query&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;quot;SET character_set_client='cp1251'&amp;quot;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;mysql_query&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;quot;SET character_set_connection='cp1251'&amp;quot;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;mysql_query&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;quot;SET character_set_results='cp1251'&amp;quot;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;mysql_query&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;quot;SET character_set_server='cp1251'&amp;quot;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;a href="http://syhi.stworks.ru/"  style="display: block; text-align: right; font-size: 9px;"&gt;Syhi-подсветка кода&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;script src="http://odnaknopka.ru/ok3.utf8.js"&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8421650938130481857-8383983433016444115?l=snowcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://snowcore.blogspot.com/feeds/8383983433016444115/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8421650938130481857&amp;postID=8383983433016444115' title='Комментарии: 3'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/8383983433016444115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/8383983433016444115'/><link rel='alternate' type='text/html' href='http://snowcore.blogspot.com/2008/02/mysql.html' title='MySQL и кодировки'/><author><name>unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8421650938130481857.post-2203473671804472156</id><published>2008-01-10T08:06:00.000-08:00</published><updated>2008-11-13T15:07:31.279-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='программирование'/><category scheme='http://www.blogger.com/atom/ns#' term='Instant Evil (IE)'/><title type='text'>Перехват нажатия Enter в IE</title><content type='html'>Вот так уж повелось, что IE не дает спокойно жить всем web-developerам. И меня он не устает удивлять.&lt;br /&gt;&lt;br /&gt;Ситуация следующая: в текстовое поле вводится числовое значение, по нажатию Enter это значение передается на сервер (при помощи AJAX). Что может быть проще? Я привязал функцию обновления на событие &lt;span style="font-weight: bold;"&gt;onchange&lt;/span&gt; элемента input (текст). Как обычно, все идеально сработало в FireFox и Safari. А этот IE... При нажатии Enter - вообще ничего не происходило.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Объясняю:&lt;/span&gt; в IE Enter вызывает событие "onsubmit" формы.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Решение: &lt;/span&gt;input должен находиться в форме. На событие onsubmit ставим return false;&lt;br /&gt;И добавляем следующий код:&lt;br /&gt;&lt;br /&gt;&lt;div class="javascript"  style="color: rgb(0, 0, 0);font-family:monospace;"&gt;processKeyEvent = &lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;function&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;eventType, event&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;                                             &lt;br /&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;      &lt;span style="color: rgb(0, 0, 102); font-weight: bold;"&gt;if&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;window.&lt;span style="color: rgb(0, 102, 0);"&gt;event&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;br /&gt;      &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;          event = window.&lt;span style="color: rgb(0, 102, 0);"&gt;event&lt;/span&gt;;&lt;br /&gt;      &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;      &lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;var&lt;/span&gt; caller_;&lt;br /&gt;      &lt;span style="color: rgb(0, 0, 102); font-weight: bold;"&gt;if&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;event.&lt;span style="color: rgb(0, 102, 0);"&gt;target&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;br /&gt;          caller_ = event.&lt;span style="color: rgb(0, 102, 0);"&gt;target&lt;/span&gt;;&lt;br /&gt;      &lt;span style="color: rgb(0, 0, 102); font-weight: bold;"&gt;if&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;event.&lt;span style="color: rgb(0, 102, 0);"&gt;srcElement&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;br /&gt;          caller_ = event.&lt;span style="color: rgb(0, 102, 0);"&gt;srcElement&lt;/span&gt;;&lt;br /&gt;      &lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;var&lt;/span&gt; code;&lt;br /&gt;      &lt;span style="color: rgb(0, 0, 102); font-weight: bold;"&gt;if&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;event.&lt;span style="color: rgb(0, 102, 0);"&gt;keyCode&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; code = event.&lt;span style="color: rgb(0, 102, 0);"&gt;keyCode&lt;/span&gt;;&lt;br /&gt;      &lt;span style="color: rgb(0, 0, 102); font-weight: bold;"&gt;else&lt;/span&gt; &lt;span style="color: rgb(0, 0, 102); font-weight: bold;"&gt;if&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;event.&lt;span style="color: rgb(0, 102, 0);"&gt;which&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; code = event.&lt;span style="color: rgb(0, 102, 0);"&gt;which&lt;/span&gt;;&lt;br /&gt;   &lt;br /&gt;      &lt;span style="color: rgb(0, 0, 102); font-weight: bold;"&gt;switch&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;code&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;br /&gt;      &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;          &lt;span style="color: rgb(0, 0, 102); font-weight: bold;"&gt;case&lt;/span&gt; &lt;span style="color: rgb(204, 0, 0);"&gt;13&lt;/span&gt;:&lt;br /&gt;              checkEnteredOrder&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;caller_&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;; &lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;// наша функция для обновления&lt;/span&gt;&lt;br /&gt;              &lt;span style="color: rgb(0, 0, 102); font-weight: bold;"&gt;break&lt;/span&gt;;       &lt;br /&gt;      &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;     &lt;br /&gt;  &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;processKeyPress = &lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;function&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;event&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;br /&gt;  &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;      processKeyEvent&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 102, 204);"&gt;"onkeypress"&lt;/span&gt;, event&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;  &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;;&lt;a href="http://syhi.stworks.ru/" style="display: block; text-align: right; font-size: 9px;"&gt;Syhi-подсветка кода&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Затем меняем событие onchange на &lt;span style="font-weight: bold;"&gt;keypress:&lt;br /&gt;&lt;br /&gt;&lt;div class="javascript"  style="color: rgb(0, 0, 0);font-family:monospace;"&gt;input.&lt;span style="color: rgb(0, 102, 0);"&gt;onkeypress&lt;/span&gt; = processKeyPress;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Теперь все проходит через &lt;span&gt;&lt;span style="font-weight: bold;"&gt;processKeyPress &lt;/span&gt;&lt;span&gt;хэндлер, а в нем мы отлавливаем нажатую клавишу по &lt;span style="font-weight: bold;"&gt;keycode&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;P.S.: Чувствую, скоро нужно будет создать отдельную категорию на блоге типа "Умри, IE поганый" или "&lt;span style="font-weight: bold;"&gt;I&lt;/span&gt;nstant &lt;span style="font-weight: bold;"&gt;E&lt;/span&gt;vil"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-weight: bold;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_dnS89WGz6Yg/R4ZHVQ4RseI/AAAAAAAAACE/EniK6iofXtw/s1600-h/page23_19.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_dnS89WGz6Yg/R4ZHVQ4RseI/AAAAAAAAACE/EniK6iofXtw/s320/page23_19.jpg" alt="" id="BLOGGER_PHOTO_ID_5153885254205944290" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;script src="http://odnaknopka.ru/ok3.utf8.js"&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8421650938130481857-2203473671804472156?l=snowcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://snowcore.blogspot.com/feeds/2203473671804472156/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8421650938130481857&amp;postID=2203473671804472156' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/2203473671804472156'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/2203473671804472156'/><link rel='alternate' type='text/html' href='http://snowcore.blogspot.com/2008/01/enter-ie.html' title='Перехват нажатия Enter в IE'/><author><name>unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_dnS89WGz6Yg/R4ZHVQ4RseI/AAAAAAAAACE/EniK6iofXtw/s72-c/page23_19.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8421650938130481857.post-8900459699860079019</id><published>2008-01-08T04:15:00.000-08:00</published><updated>2008-04-10T07:36:22.039-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='программирование'/><category scheme='http://www.blogger.com/atom/ns#' term='Instant Evil (IE)'/><title type='text'>const + javascript in IE</title><content type='html'>Ну вот закончились праздники (ура!), и снова любимая работа...&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;Первое удивление в новом году:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Никогда не используйте ключевое слово &lt;span style="font-weight: bold;font-size:100%;" &gt;const&lt;/span&gt; в javascript. Константы не поддерживаются в &lt;span style="font-weight: bold;"&gt;IE&lt;/span&gt; (в этом только что убедился, посвятив отладке 2 часа).  Так что &lt;span style="font-weight: bold;"&gt;var&lt;/span&gt; вам в помощь ;-)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;script style="font-size: 24px;" src="http://odnaknopka.ru/ok3.utf8.js"&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8421650938130481857-8900459699860079019?l=snowcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://snowcore.blogspot.com/feeds/8900459699860079019/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8421650938130481857&amp;postID=8900459699860079019' title='Комментарии: 3'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/8900459699860079019'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/8900459699860079019'/><link rel='alternate' type='text/html' href='http://snowcore.blogspot.com/2008/01/const-javascript.html' title='const + javascript in IE'/><author><name>unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8421650938130481857.post-8808150810900721590</id><published>2007-12-28T23:51:00.000-08:00</published><updated>2008-11-13T15:07:31.811-08:00</updated><title type='text'>Всех с Новым 2008 Годом !!!</title><content type='html'>&lt;div style="text-align: center;"&gt;Удачи Вам, здоровья, всяческих благ и исполнения всех желаний!&lt;br /&gt;С Новым Годом !!!&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_dnS89WGz6Yg/R3YEFw4RsdI/AAAAAAAAAB8/t6FOH8PlFCU/s1600-h/tree.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_dnS89WGz6Yg/R3YEFw4RsdI/AAAAAAAAAB8/t6FOH8PlFCU/s320/tree.jpg" alt="" id="BLOGGER_PHOTO_ID_5149307721011540434" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;script src="http://odnaknopka.ru/ok3.utf8.js"&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8421650938130481857-8808150810900721590?l=snowcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://snowcore.blogspot.com/feeds/8808150810900721590/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8421650938130481857&amp;postID=8808150810900721590' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/8808150810900721590'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/8808150810900721590'/><link rel='alternate' type='text/html' href='http://snowcore.blogspot.com/2007/12/2008.html' title='Всех с Новым 2008 Годом !!!'/><author><name>unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_dnS89WGz6Yg/R3YEFw4RsdI/AAAAAAAAAB8/t6FOH8PlFCU/s72-c/tree.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8421650938130481857.post-5272550743112085905</id><published>2007-12-21T08:12:00.000-08:00</published><updated>2008-11-13T15:07:32.165-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='программирование'/><title type='text'>Javascript Treeview</title><content type='html'>В нашем "вечном" проекте появилась новая задача - реализовать иерархическую структуру категорий. Сделать это нужно было в таблице + реализовать следующие действия:&lt;ul&gt;&lt;li&gt;открытие/закрытие ветвей дерева&lt;/li&gt;&lt;li&gt;перемещение категории на уровень вверх/вниз&lt;/li&gt;&lt;li&gt;дублирование (как категории отдельно, так и целой ветки)&lt;/li&gt;&lt;li&gt;удаление элементов&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Немного поразмыслив я придумал такой подход:&lt;br /&gt;&lt;br /&gt;Каждой строке таблицы присваивается 2 параметра:&lt;br /&gt;level - уровень, на котором лежит узел (от 0 и выше)&lt;br /&gt;state - состояние узла (open - узел открыт, closed - закрыт, end - узел является конечным )&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Смотрите скриншот таблицы:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_dnS89WGz6Yg/R2vn-Q4RsZI/AAAAAAAAABc/pnBzX2u4VXA/s1600-h/tree.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_dnS89WGz6Yg/R2vn-Q4RsZI/AAAAAAAAABc/pnBzX2u4VXA/s320/tree.gif" alt="" id="BLOGGER_PHOTO_ID_5146462056069837202" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;И так, первая функция для открытия и закрытия узлов. Встречайте:&lt;br /&gt;&lt;br /&gt;&lt;div class="javascript"  style="color: rgb(0, 0, 0);font-family:monospace;"&gt;&lt;ol&gt;&lt;li style="margin: 0px;"&gt;&lt;div  style="font-weight: normal;font-family:'Courier New',Courier,monospace;"&gt;&lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;function&lt;/span&gt; changeRowState&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;box, RH_Panel&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div  style="font-weight: normal;font-family:'Courier New',Courier,monospace;"&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div  style="font-weight: normal;font-family:'Courier New',Courier,monospace;"&gt;    elem = box.&lt;span style="color: rgb(0, 102, 0);"&gt;parentNode&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;parentNode&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;parentNode&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div  style="font-weight: normal;font-family:'Courier New',Courier,monospace;"&gt;    &lt;/div&gt;&lt;br /&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div  style="font-weight: normal;font-family:'Courier New',Courier,monospace;"&gt;    &lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;var&lt;/span&gt; current_level = elem.&lt;span style="color: rgb(0, 102, 0);"&gt;getAttribute&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 102, 204);"&gt;"level"&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div  style="font-weight: normal;font-family:'Courier New',Courier,monospace;"&gt;    &lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;var&lt;/span&gt; current_state = elem.&lt;span style="color: rgb(0, 102, 0);"&gt;getAttribute&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 102, 204);"&gt;"state"&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div  style="font-weight: normal;font-family:'Courier New',Courier,monospace;"&gt;    &lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;var&lt;/span&gt; current_table = &lt;span style="color: rgb(51, 102, 204);"&gt;"table_body"&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div  style="font-weight: normal;font-family:'Courier New',Courier,monospace;"&gt;    &lt;/div&gt;&lt;br /&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div  style="font-weight: normal;font-family:'Courier New',Courier,monospace;"&gt;    &lt;span style="color: rgb(0, 0, 102); font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;RH_Panel&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div  style="font-weight: normal;font-family:'Courier New',Courier,monospace;"&gt;        current_table = &lt;span style="color: rgb(51, 102, 204);"&gt;"RH_table_body"&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div  style="font-weight: normal;font-family:'Courier New',Courier,monospace;"&gt;            &lt;/div&gt;&lt;br /&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div  style="font-weight: normal;font-family:'Courier New',Courier,monospace;"&gt;    &lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;var&lt;/span&gt; row_display = &lt;span style="color: rgb(51, 102, 204);"&gt;"none"&lt;/span&gt;; &lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;// for style.display&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div  style="font-weight: normal;font-family:'Courier New',Courier,monospace;"&gt;    &lt;span style="color: rgb(0, 0, 102); font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;current_state == &lt;span style="color: rgb(51, 102, 204);"&gt;"closed"&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;// if item is closed, than show all children&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div  style="font-weight: normal;font-family:'Courier New',Courier,monospace;"&gt;        row_display = &lt;span style="color: rgb(51, 102, 204);"&gt;""&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div  style="font-weight: normal;font-family:'Courier New',Courier,monospace;"&gt;    &lt;/div&gt;&lt;br /&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div  style="font-weight: normal;font-family:'Courier New',Courier,monospace;"&gt;    &lt;/div&gt;&lt;br /&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div  style="font-weight: normal;font-family:'Courier New',Courier,monospace;"&gt;    &lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;var&lt;/span&gt; tbody = document.&lt;span style="color: rgb(0, 102, 0);"&gt;getElementById&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;current_table&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div  style="font-weight: normal;font-family:'Courier New',Courier,monospace;"&gt;    &lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;var&lt;/span&gt; children = tbody.&lt;span style="color: rgb(0, 102, 0);"&gt;childNodes&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div  style="font-weight: normal;font-family:'Courier New',Courier,monospace;"&gt;    &lt;/div&gt;&lt;br /&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div  style="font-weight: normal;font-family:'Courier New',Courier,monospace;"&gt;    &lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;var&lt;/span&gt; after_current = &lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;false&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div  style="font-weight: normal;font-family:'Courier New',Courier,monospace;"&gt;    &lt;/div&gt;&lt;br /&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div  style="font-weight: normal;font-family:'Courier New',Courier,monospace;"&gt;    &lt;span style="color: rgb(0, 0, 102); font-weight: bold;"&gt;for&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;var&lt;/span&gt; i=&lt;span style="color: rgb(204, 0, 0);"&gt;0&lt;/span&gt;; i&amp;lt;children.&lt;span style="color: rgb(0, 102, 0);"&gt;length&lt;/span&gt;; i++&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div  style="font-weight: normal;font-family:'Courier New',Courier,monospace;"&gt;    &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;                &lt;/div&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div  style="font-weight: normal;font-family:'Courier New',Courier,monospace;"&gt;        &lt;span style="color: rgb(0, 0, 102); font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;children&lt;span style="color: rgb(102, 204, 102);"&gt;[&lt;/span&gt;i&lt;span style="color: rgb(102, 204, 102);"&gt;]&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;tagName&lt;/span&gt; == &lt;span style="color: rgb(51, 102, 204);"&gt;'TR'&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div  style="font-weight: normal;font-family:'Courier New',Courier,monospace;"&gt;        &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div  style="font-weight: normal;font-family:'Courier New',Courier,monospace;"&gt;            &lt;span style="color: rgb(0, 0, 102); font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;children&lt;span style="color: rgb(102, 204, 102);"&gt;[&lt;/span&gt;i&lt;span style="color: rgb(102, 204, 102);"&gt;]&lt;/span&gt; == elem&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div  style="font-weight: normal;font-family:'Courier New',Courier,monospace;"&gt;            &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div  style="font-weight: normal;font-family:'Courier New',Courier,monospace;"&gt;                after_current = &lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;true&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div  style="font-weight: normal;font-family:'Courier New',Courier,monospace;"&gt;            &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div  style="font-weight: normal;font-family:'Courier New',Courier,monospace;"&gt; &lt;/div&gt;&lt;br /&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div  style="font-weight: normal;font-family:'Courier New',Courier,monospace;"&gt;            &lt;span style="color: rgb(0, 0, 102); font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;after_current&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div  style="font-weight: normal;font-family:'Courier New',Courier,monospace;"&gt;            &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;   &lt;/div&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div  style="font-weight: normal;font-family:'Courier New',Courier,monospace;"&gt;                &lt;span style="color: rgb(0, 0, 102); font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;children&lt;span style="color: rgb(102, 204, 102);"&gt;[&lt;/span&gt;i&lt;span style="color: rgb(102, 204, 102);"&gt;]&lt;/span&gt; != elem&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; &amp;amp;&amp;amp; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;children&lt;span style="color: rgb(102, 204, 102);"&gt;[&lt;/span&gt;i&lt;span style="color: rgb(102, 204, 102);"&gt;]&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;getAttribute&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 102, 204);"&gt;'level'&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; == current_level&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div  style="font-weight: normal;font-family:'Courier New',Courier,monospace;"&gt;                &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div  style="font-weight: normal;font-family:'Courier New',Courier,monospace;"&gt;                    &lt;span style="color: rgb(0, 0, 102); font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;current_state == &lt;span style="color: rgb(51, 102, 204);"&gt;"open"&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div  style="font-weight: normal;font-family:'Courier New',Courier,monospace;"&gt;                    &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div  style="font-weight: normal;font-family:'Courier New',Courier,monospace;"&gt;                        elem.&lt;span style="color: rgb(0, 102, 0);"&gt;setAttribute&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 102, 204);"&gt;"state"&lt;/span&gt;, &lt;span style="color: rgb(51, 102, 204);"&gt;"closed"&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div  style="font-weight: normal;font-family:'Courier New',Courier,monospace;"&gt;                        box.&lt;span style="color: rgb(0, 102, 0);"&gt;src&lt;/span&gt; = &lt;span style="color: rgb(51, 102, 204);"&gt;"images/branch_closed.gif"&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div  style="font-weight: normal;font-family:'Courier New',Courier,monospace;"&gt;                    &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div  style="font-weight: normal;font-family:'Courier New',Courier,monospace;"&gt;                    &lt;span style="color: rgb(0, 0, 102); font-weight: bold;"&gt;else&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div  style="font-weight: normal;font-family:'Courier New',Courier,monospace;"&gt;                    &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div  style="font-weight: normal;font-family:'Courier New',Courier,monospace;"&gt;                        elem.&lt;span style="color: rgb(0, 102, 0);"&gt;setAttribute&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 102, 204);"&gt;"state"&lt;/span&gt;, &lt;span style="color: rgb(51, 102, 204);"&gt;"open"&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div  style="font-weight: normal;font-family:'Courier New',Courier,monospace;"&gt;                        box.&lt;span style="color: rgb(0, 102, 0);"&gt;src&lt;/span&gt; = &lt;span style="color: rgb(51, 102, 204);"&gt;"images/branch_open.gif"&lt;/span&gt;; &lt;/div&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div  style="font-weight: normal;font-family:'Courier New',Courier,monospace;"&gt;                    &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div  style="font-weight: normal;font-family:'Courier New',Courier,monospace;"&gt;                    &lt;span style="color: rgb(0, 0, 102); font-weight: bold;"&gt;return&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div  style="font-weight: normal;font-family:'Courier New',Courier,monospace;"&gt;                &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div  style="font-weight: normal;font-family:'Courier New',Courier,monospace;"&gt;                    &lt;/div&gt;&lt;br /&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div face="'Courier New',Courier,monospace" style="font-weight: normal;"&gt;                &lt;span style="color: rgb(0, 0, 102); font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;children&lt;span style="color: rgb(102, 204, 102);"&gt;[&lt;/span&gt;i&lt;span style="color: rgb(102, 204, 102);"&gt;]&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;getAttribute&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 102, 204);"&gt;'level'&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; &amp;gt; current_level&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div style="font-weight: normal; font-family: 'Courier New',Courier,monospace;"&gt;                &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div style="font-weight: normal; font-family: 'Courier New',Courier,monospace;"&gt;                    &lt;/div&gt;&lt;br /&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div style="font-weight: normal; font-family: 'Courier New',Courier,monospace;"&gt;                    children&lt;span style="color: rgb(102, 204, 102);"&gt;[&lt;/span&gt;i&lt;span style="color: rgb(102, 204, 102);"&gt;]&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;style&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;display&lt;/span&gt; = row_display;&lt;/div&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div style="font-weight: normal; font-family: 'Courier New',Courier,monospace;"&gt;                &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div style="font-weight: normal; font-family: 'Courier New',Courier,monospace;"&gt;            &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div style="font-weight: normal; font-family: 'Courier New',Courier,monospace;"&gt;        &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div style="font-weight: normal; font-family: 'Courier New',Courier,monospace;"&gt;    &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div style="font-weight: normal; font-family: 'Courier New',Courier,monospace;"&gt; &lt;/div&gt;&lt;br /&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div style="font-weight: normal; font-family: 'Courier New',Courier,monospace;"&gt;    &lt;span style="color: rgb(0, 0, 102); font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;current_state == &lt;span style="color: rgb(51, 102, 204);"&gt;"open"&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div style="font-weight: normal; font-family: 'Courier New',Courier,monospace;"&gt;    &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div style="font-weight: normal; font-family: 'Courier New',Courier,monospace;"&gt;        elem.&lt;span style="color: rgb(0, 102, 0);"&gt;setAttribute&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 102, 204);"&gt;"state"&lt;/span&gt;, &lt;span style="color: rgb(51, 102, 204);"&gt;"closed"&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div face="'Courier New',Courier,monospace" style="font-weight: normal;"&gt;        box.&lt;span style="color: rgb(0, 102, 0);"&gt;src&lt;/span&gt; = &lt;span style="color: rgb(51, 102, 204);"&gt;"images/branch_closed.gif"&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div face="'Courier New',Courier,monospace" style="font-weight: normal;"&gt;    &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div face="'Courier New',Courier,monospace" style="font-weight: normal;"&gt;    &lt;span style="color: rgb(0, 0, 102); font-weight: bold;"&gt;else&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div face="'Courier New',Courier,monospace" style="font-weight: normal;"&gt;    &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div face="'Courier New',Courier,monospace" style="font-weight: normal;"&gt;        elem.&lt;span style="color: rgb(0, 102, 0);"&gt;setAttribute&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 102, 204);"&gt;"state"&lt;/span&gt;, &lt;span style="color: rgb(51, 102, 204);"&gt;"open"&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div face="'Courier New',Courier,monospace" style="font-weight: normal;"&gt;        box.&lt;span style="color: rgb(0, 102, 0);"&gt;src&lt;/span&gt; = &lt;span style="color: rgb(51, 102, 204);"&gt;"images/branch_open.gif"&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div face="'Courier New',Courier,monospace" style="font-weight: normal;"&gt;    &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style="margin: 0px;"&gt;&lt;div face="'Courier New',Courier,monospace" style="font-weight: normal;"&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;a href="http://syhi.stworks.ru/" style="display: block; text-align: right; font-size: 9px;"&gt;Syhi-подсветка кода&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;br /&gt;Эту функцию мы ставим на событие onclick для элемента &amp;lt;img&amp;gt; в строке таблицы:&lt;br /&gt;&lt;br /&gt;&lt;div class="html4strict"  style="color: rgb(0, 0, 0);font-family:monospace;"&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;&lt;a style="text-decoration: none;" href="http://december.com/html/4/element/tr.html"&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;&amp;lt;tr&lt;/span&gt;&lt;/a&gt; level=&lt;span style="color: rgb(255, 0, 0);"&gt;"0"&lt;/span&gt; state=&lt;span style="color: rgb(255, 0, 0);"&gt;"open"&lt;/span&gt; &lt;span style="color: rgb(0, 0, 102);"&gt;style&lt;/span&gt;=&lt;span style="color: rgb(255, 0, 0);"&gt;"background:#99ddaa;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;&lt;a style="text-decoration: none;" href="http://december.com/html/4/element/td.html"&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;&amp;lt;td&amp;gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;&lt;a style="text-decoration: none;" href="http://december.com/html/4/element/input.html"&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;&amp;lt;input&lt;/span&gt;&lt;/a&gt; &lt;span style="color: rgb(0, 0, 102);"&gt;type&lt;/span&gt;=&lt;span style="color: rgb(255, 0, 0);"&gt;"checkbox"&lt;/span&gt; &lt;span style="color: rgb(0, 0, 102);"&gt;name&lt;/span&gt;=&lt;span style="color: rgb(255, 0, 0);"&gt;"tree_items[]"&lt;/span&gt; /&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;&amp;lt;/td&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;&lt;a style="text-decoration: none;" href="http://december.com/html/4/element/td.html"&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;&amp;lt;td&amp;gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(0, 153, 0);"&gt;&lt;a style="text-decoration: none;" href="http://december.com/html/4/element/a.html"&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;&amp;lt;a&lt;/span&gt;&lt;/a&gt; &lt;span style="color: rgb(0, 0, 102);"&gt;href&lt;/span&gt;=&lt;span style="color: rgb(255, 0, 0);"&gt;"javascript:void(0)"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;     &lt;span style="color: rgb(0, 153, 0);"&gt;&lt;a style="text-decoration: none;" href="http://december.com/html/4/element/img.html"&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;&amp;lt;img&lt;/span&gt;&lt;/a&gt; &lt;span style="color: rgb(0, 0, 102);"&gt;src&lt;/span&gt;=&lt;span style="color: rgb(255, 0, 0);"&gt;"images/branch_open.gif"&lt;/span&gt; &lt;span style="color: rgb(0, 0, 102);"&gt;onclick&lt;/span&gt;=&lt;span style="color: rgb(255, 0, 0);"&gt;"changeRowState(this);"&lt;/span&gt; /&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(0, 153, 0);"&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;&amp;lt;/a&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(0, 153, 0);"&gt;&lt;a style="text-decoration: none;" href="http://december.com/html/4/element/a.html"&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;&amp;lt;a&lt;/span&gt;&lt;/a&gt; &lt;span style="color: rgb(0, 0, 102);"&gt;href&lt;/span&gt;=&lt;span style="color: rgb(255, 0, 0);"&gt;"action.php"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(221, 187, 0);"&gt;&amp;amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(221, 187, 0);"&gt;&amp;amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;&lt;a style="text-decoration: none;" href="http://december.com/html/4/element/b.html"&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;&amp;lt;b&amp;gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;Web Channel (2)&lt;span style="color: rgb(0, 153, 0);"&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;&amp;lt;/b&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;&amp;lt;/a&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;&amp;lt;/td&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;&lt;a style="text-decoration: none;" href="http://december.com/html/4/element/td.html"&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;&amp;lt;td&amp;gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;56&lt;span style="color: rgb(0, 153, 0);"&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;&amp;lt;/td&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;&lt;a style="text-decoration: none;" href="http://december.com/html/4/element/td.html"&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;&amp;lt;td&amp;gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;2&lt;span style="color: rgb(0, 153, 0);"&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;&amp;lt;/td&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;&lt;a style="text-decoration: none;" href="http://december.com/html/4/element/td.html"&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;&amp;lt;td&amp;gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;3&lt;span style="color: rgb(0, 153, 0);"&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;&amp;lt;/td&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;&lt;a style="text-decoration: none;" href="http://december.com/html/4/element/td.html"&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;&amp;lt;td&amp;gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;10&lt;span style="color: rgb(0, 153, 0);"&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;&amp;lt;/td&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;&lt;a style="text-decoration: none;" href="http://december.com/html/4/element/td.html"&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;&amp;lt;td&lt;/span&gt;&lt;/a&gt; &lt;span style="color: rgb(0, 0, 102);"&gt;class&lt;/span&gt;=&lt;span style="color: rgb(255, 0, 0);"&gt;"statusProduction"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;Published&lt;span style="color: rgb(0, 153, 0);"&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;&amp;lt;/td&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;&amp;lt;/tr&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://syhi.stworks.ru/" style="display: block; text-align: right; font-size: 9px;"&gt;Syhi-подсветка кода&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Логика очень проста: при нажатии на иконку, функция проходит по всем строчкам таблицы и изменяет атрибут display (если уровень больше). При таком подходе, в принципе, уровень вложенности может быть большим. Но для нашего проекта я сделал ограничение до 10 уровней.&lt;br /&gt;&lt;br /&gt;Функция для изменения уровня узлов:&lt;br /&gt;&lt;br /&gt;&lt;div class="javascript"  style="color: rgb(0, 0, 0);font-family:monospace;"&gt;&lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;function&lt;/span&gt; changeLevel&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;direction&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;  &lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;var&lt;/span&gt; delta_level = &lt;span style="color: rgb(204, 0, 0);"&gt;-1&lt;/span&gt;;&lt;br /&gt;  &lt;span style="color: rgb(0, 0, 102); font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;direction == &lt;span style="color: rgb(51, 102, 204);"&gt;"down"&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;br /&gt;      delta_level = &lt;span style="color: rgb(204, 0, 0);"&gt;1&lt;/span&gt;;&lt;br /&gt;   &lt;br /&gt;  &lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;var&lt;/span&gt; checkboxes = document.&lt;span style="color: rgb(0, 102, 0);"&gt;getElementsByName&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 102, 204);"&gt;"tree_items[]"&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;  &lt;span style="color: rgb(0, 0, 102); font-weight: bold;"&gt;for&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;var&lt;/span&gt; i=&lt;span style="color: rgb(204, 0, 0);"&gt;0&lt;/span&gt;; i&amp;lt;checkboxes.&lt;span style="color: rgb(0, 102, 0);"&gt;length&lt;/span&gt;; i++&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;br /&gt;  &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;      &lt;span style="color: rgb(0, 0, 102); font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;checkboxes&lt;span style="color: rgb(102, 204, 102);"&gt;[&lt;/span&gt;i&lt;span style="color: rgb(102, 204, 102);"&gt;]&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;checked&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;br /&gt;      &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;          &lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;var&lt;/span&gt; row = checkboxes&lt;span style="color: rgb(102, 204, 102);"&gt;[&lt;/span&gt;i&lt;span style="color: rgb(102, 204, 102);"&gt;]&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;parentNode&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;parentNode&lt;/span&gt;;&lt;br /&gt;          &lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;var&lt;/span&gt; current_level = row.&lt;span style="color: rgb(0, 102, 0);"&gt;getAttribute&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 102, 204);"&gt;"level"&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;       &lt;br /&gt;          &lt;span style="color: rgb(0, 0, 102); font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;current_level != &lt;span style="color: rgb(204, 0, 0);"&gt;0&lt;/span&gt; || direction == &lt;span style="color: rgb(51, 102, 204);"&gt;"down"&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;// dont move up row with level = 0&lt;/span&gt;&lt;br /&gt;          &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;              &lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;var&lt;/span&gt; td = checkboxes&lt;span style="color: rgb(102, 204, 102);"&gt;[&lt;/span&gt;i&lt;span style="color: rgb(102, 204, 102);"&gt;]&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;parentNode&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;nextSibling&lt;/span&gt;;&lt;br /&gt;              &lt;span style="color: rgb(0, 0, 102); font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;td.&lt;span style="color: rgb(0, 102, 0);"&gt;nodeType&lt;/span&gt; == &lt;span style="color: rgb(204, 0, 0);"&gt;3&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;br /&gt;                  td = checkboxes&lt;span style="color: rgb(102, 204, 102);"&gt;[&lt;/span&gt;i&lt;span style="color: rgb(102, 204, 102);"&gt;]&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;parentNode&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;nextSibling&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;nextSibling&lt;/span&gt;;&lt;br /&gt;           &lt;br /&gt;              &lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;var&lt;/span&gt; prev_html = td.&lt;span style="color: rgb(0, 102, 0);"&gt;innerHTML&lt;/span&gt;;&lt;br /&gt;              prev_html = prev_html.&lt;span style="color: rgb(0, 102, 0);"&gt;slice&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;prev_html.&lt;span style="color: rgb(0, 102, 0);"&gt;indexOf&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 102, 204);"&gt;"&amp;lt;"&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;              &lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;var&lt;/span&gt; new_level = parseInt&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;current_level&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; + parseInt&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;delta_level&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;              td.&lt;span style="color: rgb(0, 102, 0);"&gt;innerHTML&lt;/span&gt; = getSpacesForLevel&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;new_level&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; + prev_html;&lt;br /&gt;              row.&lt;span style="color: rgb(0, 102, 0);"&gt;setAttribute&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 102, 204);"&gt;"level"&lt;/span&gt;, new_level&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;              row.&lt;span style="color: rgb(0, 102, 0);"&gt;style&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;backgroundColor&lt;/span&gt; = arrColors&lt;span style="color: rgb(102, 204, 102);"&gt;[&lt;/span&gt;new_level&lt;span style="color: rgb(102, 204, 102);"&gt;]&lt;/span&gt;;&lt;br /&gt;           &lt;br /&gt;              &lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;var&lt;/span&gt; tbody = document.&lt;span style="color: rgb(0, 102, 0);"&gt;getElementById&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 102, 204);"&gt;'table_body'&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;              &lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;var&lt;/span&gt; children = tbody.&lt;span style="color: rgb(0, 102, 0);"&gt;childNodes&lt;/span&gt;;&lt;br /&gt;              &lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;var&lt;/span&gt; row_index = getRowIndex&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;row&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;           &lt;br /&gt;              &lt;span style="color: rgb(0, 0, 102); font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;direction == &lt;span style="color: rgb(51, 102, 204);"&gt;"down"&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;br /&gt;                  row_index++;&lt;br /&gt;           &lt;br /&gt;              &lt;span style="color: rgb(0, 0, 102); font-weight: bold;"&gt;for&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;var&lt;/span&gt; j=row_index; j&amp;lt;children.&lt;span style="color: rgb(0, 102, 0);"&gt;length&lt;/span&gt;; j++&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;br /&gt;              &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;                  &lt;span style="color: rgb(0, 0, 102); font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;children&lt;span style="color: rgb(102, 204, 102);"&gt;[&lt;/span&gt;j&lt;span style="color: rgb(102, 204, 102);"&gt;]&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;tagName&lt;/span&gt; == &lt;span style="color: rgb(51, 102, 204);"&gt;'TR'&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;br /&gt;                  &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;                      &lt;span style="color: rgb(0, 0, 102); font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;children&lt;span style="color: rgb(102, 204, 102);"&gt;[&lt;/span&gt;j&lt;span style="color: rgb(102, 204, 102);"&gt;]&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;getAttribute&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 102, 204);"&gt;"level"&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; == current_level&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;br /&gt;                          &lt;span style="color: rgb(0, 0, 102); font-weight: bold;"&gt;break&lt;/span&gt;;&lt;br /&gt;                       &lt;br /&gt;                      &lt;span style="color: rgb(0, 0, 102); font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;children&lt;span style="color: rgb(102, 204, 102);"&gt;[&lt;/span&gt;j&lt;span style="color: rgb(102, 204, 102);"&gt;]&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;getAttribute&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 102, 204);"&gt;"level"&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; &amp;gt; current_level&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;br /&gt;                      &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;                           &lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;var&lt;/span&gt; cur_level = children&lt;span style="color: rgb(102, 204, 102);"&gt;[&lt;/span&gt;j&lt;span style="color: rgb(102, 204, 102);"&gt;]&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;getAttribute&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 102, 204);"&gt;"level"&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;br /&gt;                           &lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;var&lt;/span&gt; td = children&lt;span style="color: rgb(102, 204, 102);"&gt;[&lt;/span&gt;j&lt;span style="color: rgb(102, 204, 102);"&gt;]&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;childNodes&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;[&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;3&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;]&lt;/span&gt;;&lt;br /&gt;                           &lt;span style="color: rgb(0, 0, 102); font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;td.&lt;span style="color: rgb(0, 102, 0);"&gt;innerHTML&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;indexOf&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 102, 204);"&gt;"&amp;lt;img"&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; == &lt;span style="color: rgb(204, 0, 0);"&gt;-1&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;// IE and Safari hack&lt;/span&gt;&lt;br /&gt;                              td = children&lt;span style="color: rgb(102, 204, 102);"&gt;[&lt;/span&gt;j&lt;span style="color: rgb(102, 204, 102);"&gt;]&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;childNodes&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;[&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;1&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;]&lt;/span&gt;;&lt;br /&gt;                      &lt;br /&gt;                           &lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;var&lt;/span&gt; prev_html = td.&lt;span style="color: rgb(0, 102, 0);"&gt;innerHTML&lt;/span&gt;;&lt;br /&gt;                           prev_html = prev_html.&lt;span style="color: rgb(0, 102, 0);"&gt;slice&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;prev_html.&lt;span style="color: rgb(0, 102, 0);"&gt;indexOf&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 102, 204);"&gt;"&amp;lt;"&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;                           &lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;var&lt;/span&gt; new_lev = parseInt&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;cur_level&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; + parseInt&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;delta_level&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;                           td.&lt;span style="color: rgb(0, 102, 0);"&gt;innerHTML&lt;/span&gt; = getSpacesForLevel&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;new_lev&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; + prev_html;&lt;br /&gt;                           children&lt;span style="color: rgb(102, 204, 102);"&gt;[&lt;/span&gt;j&lt;span style="color: rgb(102, 204, 102);"&gt;]&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;setAttribute&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 102, 204);"&gt;"level"&lt;/span&gt;, new_lev&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;                           children&lt;span style="color: rgb(102, 204, 102);"&gt;[&lt;/span&gt;j&lt;span style="color: rgb(102, 204, 102);"&gt;]&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;style&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;backgroundColor&lt;/span&gt; = arrColors&lt;span style="color: rgb(102, 204, 102);"&gt;[&lt;/span&gt;new_lev&lt;span style="color: rgb(102, 204, 102);"&gt;]&lt;/span&gt;;&lt;br /&gt;                      &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;                  &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;              &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;// for&lt;/span&gt;&lt;br /&gt;              checkAll&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;    &lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;// uncheck all checkboxes&lt;/span&gt;&lt;br /&gt;          &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;// if&lt;/span&gt;&lt;br /&gt;      &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;// if checked&lt;/span&gt;&lt;br /&gt;   &lt;br /&gt;&lt;br /&gt;  &lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;// AJAX request to set level&lt;/span&gt;&lt;br /&gt;  &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;a href="http://syhi.stworks.ru/" style="display: block; text-align: right; font-size: 9px;"&gt;Syhi-подсветка кода&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;А также функции дублирования:&lt;br /&gt;&lt;br /&gt;&lt;div class="javascript"  style="color: rgb(0, 0, 0);font-family:monospace;"&gt;&lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;function&lt;/span&gt; duplicateSingle&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;var&lt;/span&gt; checkboxes = document.&lt;span style="color: rgb(0, 102, 0);"&gt;getElementsByName&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 102, 204);"&gt;"tree_items[]"&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;   &lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;var&lt;/span&gt; tbody = document.&lt;span style="color: rgb(0, 102, 0);"&gt;getElementById&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 102, 204);"&gt;"table_body"&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt; &lt;br /&gt;   &lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;var&lt;/span&gt; len = checkboxes.&lt;span style="color: rgb(0, 102, 0);"&gt;length&lt;/span&gt;;    &lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;// FireFox hack (against constant reference to collection of checkboxes)&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(0, 0, 102); font-weight: bold;"&gt;for&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;var&lt;/span&gt; i=&lt;span style="color: rgb(204, 0, 0);"&gt;0&lt;/span&gt;; i&amp;lt;len; i++&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(0, 0, 102); font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;checkboxes&lt;span style="color: rgb(102, 204, 102);"&gt;[&lt;/span&gt;i&lt;span style="color: rgb(102, 204, 102);"&gt;]&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;checked&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;           &lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;var&lt;/span&gt; row = checkboxes&lt;span style="color: rgb(102, 204, 102);"&gt;[&lt;/span&gt;i&lt;span style="color: rgb(102, 204, 102);"&gt;]&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;parentNode&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;parentNode&lt;/span&gt;;&lt;br /&gt;           &lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;var&lt;/span&gt; inserted_row = tbody.&lt;span style="color: rgb(0, 102, 0);"&gt;appendChild&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;row.&lt;span style="color: rgb(0, 102, 0);"&gt;cloneNode&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;1&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;         &lt;br /&gt;           &lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;var&lt;/span&gt; td = inserted_row.&lt;span style="color: rgb(0, 102, 0);"&gt;childNodes&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;[&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;3&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;]&lt;/span&gt;;&lt;br /&gt;           &lt;span style="color: rgb(0, 0, 102); font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;td.&lt;span style="color: rgb(0, 102, 0);"&gt;innerHTML&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;indexOf&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 102, 204);"&gt;"&amp;lt;img"&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; == &lt;span style="color: rgb(204, 0, 0);"&gt;-1&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;// IE and Safari hack&lt;/span&gt;&lt;br /&gt;              td = inserted_row.&lt;span style="color: rgb(0, 102, 0);"&gt;childNodes&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;[&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;1&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;]&lt;/span&gt;;&lt;br /&gt;            &lt;br /&gt;           &lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;var&lt;/span&gt; cell_content = td.&lt;span style="color: rgb(0, 102, 0);"&gt;innerHTML&lt;/span&gt;;&lt;br /&gt;           &lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;var&lt;/span&gt; ins_pos = cell_content.&lt;span style="color: rgb(0, 102, 0);"&gt;indexOf&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 102, 204);"&gt;"&amp;lt;/b&amp;gt;"&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;           td.&lt;span style="color: rgb(0, 102, 0);"&gt;innerHTML&lt;/span&gt; = cell_content.&lt;span style="color: rgb(0, 102, 0);"&gt;slice&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;0&lt;/span&gt;, ins_pos&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; + &lt;span style="color: rgb(51, 102, 204);"&gt;" Copy"&lt;/span&gt; + cell_content.&lt;span style="color: rgb(0, 102, 0);"&gt;slice&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;ins_pos&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;      &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;   checkAll&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;function&lt;/span&gt; duplicateBranch&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;var&lt;/span&gt; checkboxes = document.&lt;span style="color: rgb(0, 102, 0);"&gt;getElementsByName&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 102, 204);"&gt;"tree_items[]"&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;   &lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;var&lt;/span&gt; tbody = document.&lt;span style="color: rgb(0, 102, 0);"&gt;getElementById&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 102, 204);"&gt;"table_body"&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt; &lt;br /&gt;   &lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;var&lt;/span&gt; len = checkboxes.&lt;span style="color: rgb(0, 102, 0);"&gt;length&lt;/span&gt;;    &lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;// FireFox hack (against constant reference to collection of checkboxes)&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(0, 0, 102); font-weight: bold;"&gt;for&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;var&lt;/span&gt; i=&lt;span style="color: rgb(204, 0, 0);"&gt;0&lt;/span&gt;; i&amp;lt;len; i++&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(0, 0, 102); font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;checkboxes&lt;span style="color: rgb(102, 204, 102);"&gt;[&lt;/span&gt;i&lt;span style="color: rgb(102, 204, 102);"&gt;]&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;checked&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;           &lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;var&lt;/span&gt; row = checkboxes&lt;span style="color: rgb(102, 204, 102);"&gt;[&lt;/span&gt;i&lt;span style="color: rgb(102, 204, 102);"&gt;]&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;parentNode&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;parentNode&lt;/span&gt;;&lt;br /&gt;           &lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;var&lt;/span&gt; inserted_row = tbody.&lt;span style="color: rgb(0, 102, 0);"&gt;appendChild&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;row.&lt;span style="color: rgb(0, 102, 0);"&gt;cloneNode&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;1&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;           &lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;var&lt;/span&gt; current_level = inserted_row.&lt;span style="color: rgb(0, 102, 0);"&gt;getAttribute&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 102, 204);"&gt;"level"&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;         &lt;br /&gt;           &lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;var&lt;/span&gt; tbody = document.&lt;span style="color: rgb(0, 102, 0);"&gt;getElementById&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 102, 204);"&gt;'table_body'&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;           &lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;var&lt;/span&gt; children = tbody.&lt;span style="color: rgb(0, 102, 0);"&gt;childNodes&lt;/span&gt;;&lt;br /&gt;           &lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;var&lt;/span&gt; row_index = getRowIndex&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;row&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;         &lt;br /&gt;           &lt;span style="color: rgb(0, 0, 102); font-weight: bold;"&gt;for&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;var&lt;/span&gt; j=&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;row_index&lt;span style="color: rgb(204, 0, 0);"&gt;+1&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;; j&amp;lt;children.&lt;span style="color: rgb(0, 102, 0);"&gt;length&lt;/span&gt;; j++&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;br /&gt;           &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;               &lt;span style="color: rgb(0, 0, 102); font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;children&lt;span style="color: rgb(102, 204, 102);"&gt;[&lt;/span&gt;j&lt;span style="color: rgb(102, 204, 102);"&gt;]&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;tagName&lt;/span&gt; == &lt;span style="color: rgb(51, 102, 204);"&gt;'TR'&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;br /&gt;               &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;                   &lt;span style="color: rgb(0, 0, 102); font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;children&lt;span style="color: rgb(102, 204, 102);"&gt;[&lt;/span&gt;j&lt;span style="color: rgb(102, 204, 102);"&gt;]&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;getAttribute&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 102, 204);"&gt;"level"&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; == current_level&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;br /&gt;                       &lt;span style="color: rgb(0, 0, 102); font-weight: bold;"&gt;break&lt;/span&gt;;&lt;br /&gt;                     &lt;br /&gt;                   &lt;span style="color: rgb(0, 0, 102); font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;children&lt;span style="color: rgb(102, 204, 102);"&gt;[&lt;/span&gt;j&lt;span style="color: rgb(102, 204, 102);"&gt;]&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;getAttribute&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 102, 204);"&gt;"level"&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; &amp;gt; current_level&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;br /&gt;                   &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;                       tbody.&lt;span style="color: rgb(0, 102, 0);"&gt;appendChild&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;children&lt;span style="color: rgb(102, 204, 102);"&gt;[&lt;/span&gt;j&lt;span style="color: rgb(102, 204, 102);"&gt;]&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;cloneNode&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;1&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;; &lt;br /&gt;                   &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;               &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;           &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;      &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;   checkAll&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;a href="http://syhi.stworks.ru/" style="display: block; text-align: right; font-size: 9px;"&gt;Syhi-подсветка кода&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Кому нужны будут подробные объяснения, или кто сталкивался с подробной задачей - сообщите об этом в комментах.&lt;br /&gt;&lt;br /&gt;Удачи!&lt;br /&gt;&lt;br /&gt;&lt;script src="http://odnaknopka.ru/ok3.utf8.js"&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8421650938130481857-5272550743112085905?l=snowcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://snowcore.blogspot.com/feeds/5272550743112085905/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8421650938130481857&amp;postID=5272550743112085905' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/5272550743112085905'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/5272550743112085905'/><link rel='alternate' type='text/html' href='http://snowcore.blogspot.com/2007/12/javascript-treeview.html' title='Javascript Treeview'/><author><name>unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_dnS89WGz6Yg/R2vn-Q4RsZI/AAAAAAAAABc/pnBzX2u4VXA/s72-c/tree.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8421650938130481857.post-7049146390611982324</id><published>2007-12-18T00:30:00.000-08:00</published><updated>2008-11-13T15:07:32.839-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='юмор'/><title type='text'>Процесс разработки</title><content type='html'>Как же правдиво все выглядит.&lt;br /&gt;Посмотрите на типичний процесс разработки проектов:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_dnS89WGz6Yg/R2eFtg4RsYI/AAAAAAAAABU/zcVQoiF1B1w/s1600-h/process.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_dnS89WGz6Yg/R2eFtg4RsYI/AAAAAAAAABU/zcVQoiF1B1w/s320/process.jpg" alt="" id="BLOGGER_PHOTO_ID_5145228116260663682" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;script src="http://odnaknopka.ru/ok3.utf8.js"&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8421650938130481857-7049146390611982324?l=snowcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://snowcore.blogspot.com/feeds/7049146390611982324/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8421650938130481857&amp;postID=7049146390611982324' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/7049146390611982324'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/7049146390611982324'/><link rel='alternate' type='text/html' href='http://snowcore.blogspot.com/2007/12/blog-post_18.html' title='Процесс разработки'/><author><name>unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_dnS89WGz6Yg/R2eFtg4RsYI/AAAAAAAAABU/zcVQoiF1B1w/s72-c/process.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8421650938130481857.post-4539131284075712408</id><published>2007-12-14T06:51:00.000-08:00</published><updated>2007-12-14T06:53:37.761-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='юмор'/><title type='text'>Вот это так письмо!</title><content type='html'>Прислал недавно знакомый, я ржал долго:&lt;br /&gt;&lt;br /&gt;"Здравствуй, дорогая доченька! Если ты получишь это письмо, значит, оно до тебя дошло. Если же нет, то дай мне знать, и я напишу тебе ещe раз. Я пишу медленно, потому что я знаю, что ты не очень быстро читаешь. Погода у нас хорошая. На прошлой неделе дождь шел всего два раза: в начале недели, 3 дня, и ближе к концу, в течение 4 дней. Кстати, насчет пальтишка, которое ты хотела, дядя Вася сказал, что если пересылать его с этими литыми пуговицами, то это выйдет слишком дорого по весу, поэтому я их отрезала. Пришей их обратно, я положила их в правый кармашек. Твой папа нашeл новую работу. Под ним 500 человек! Он косит траву на кладбище. Твоя сестра Настя недавно вышла замуж, и ждет малыша Мы не знаем, какого он пола, поэтому пока что не могу тебе сказать, будешь ли ты дядей или тeтей. Если это девочка, то она хочет еe назвать, как меня. Немного странное решение, назвать свою дочку Мама. С твоим братом Толей недавно случился казус: он закрыл свою машину, а ключи оставил внутри. Ему пришлось вернуться домой пешком&lt;br /&gt;( 10 километров!), чтобы взять второй комплект ключей, и выпустить нас из машины. Если ты вдруг встретишь свою кузину Лилю, то передай ей от меня привет. Eсли ты еe не встретишь, то ничего ей не говори. Твоя мама. P.S.: Я хотела отослать тебе немного денег, но уже заклеила конверт"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;script src="http://odnaknopka.ru/ok3.utf8.js"&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8421650938130481857-4539131284075712408?l=snowcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://snowcore.blogspot.com/feeds/4539131284075712408/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8421650938130481857&amp;postID=4539131284075712408' title='Комментарии: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/4539131284075712408'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/4539131284075712408'/><link rel='alternate' type='text/html' href='http://snowcore.blogspot.com/2007/12/blog-post_14.html' title='Вот это так письмо!'/><author><name>unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8421650938130481857.post-86867939280013118</id><published>2007-12-11T01:53:00.000-08:00</published><updated>2007-12-11T02:06:02.371-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tools'/><title type='text'>Сервис подсветки кода</title><content type='html'>Очень часто в постах приходится писать участки кода.&lt;br /&gt;Раньше это было полное извращение - менял HTML, сам создавал стили... Недавно узнал об очень удобном сервисе - &lt;b&gt;SyHi&lt;/b&gt;(&lt;b&gt;Sy&lt;/b&gt;ntax &lt;b&gt;Hi&lt;/b&gt;ghlighter for blogs) система подсветки кода для блогов. Такая классная штука!&lt;br /&gt;&lt;br /&gt;Вот ряд ее достоинств:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;28 языков для подсветки (PHP, C++, C#, XML и другие)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;нумерация строк&lt;/li&gt;&lt;li&gt;возможность разрешать/запрещать переносы строк&lt;/li&gt;&lt;/ul&gt;Всем кодерам советую! Адрес: &lt;a href="http://syhi.stworks.ru/"&gt;&lt;b&gt;SyHi&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;А какими сервисами пользуетесь Вы?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;script src="http://odnaknopka.ru/ok3.utf8.js"&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8421650938130481857-86867939280013118?l=snowcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://snowcore.blogspot.com/feeds/86867939280013118/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8421650938130481857&amp;postID=86867939280013118' title='Комментарии: 4'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/86867939280013118'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/86867939280013118'/><link rel='alternate' type='text/html' href='http://snowcore.blogspot.com/2007/12/blog-post_11.html' title='Сервис подсветки кода'/><author><name>unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8421650938130481857.post-1340732995492528463</id><published>2007-12-06T01:23:00.000-08:00</published><updated>2008-11-13T15:07:33.937-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='я'/><title type='text'>Удачное продвижение</title><content type='html'>Ура! Проект, который делаю на работе уже начинает внедряться!!! Как же приятно это слышать, а тем более видеть вот такие фотографии (эти ценники создаются при помощи нашего проекта):&lt;br /&gt;&lt;br /&gt;Великобритания:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_dnS89WGz6Yg/R1fHBMILfoI/AAAAAAAAAAk/Rq87DQSqbZ8/s1600-h/UK.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_dnS89WGz6Yg/R1fHBMILfoI/AAAAAAAAAAk/Rq87DQSqbZ8/s320/UK.JPG" alt="" id="BLOGGER_PHOTO_ID_5140796322916040322" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Китай:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_dnS89WGz6Yg/R1fHj8ILfpI/AAAAAAAAAAs/2uW9elzEvM4/s1600-h/China.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_dnS89WGz6Yg/R1fHj8ILfpI/AAAAAAAAAAs/2uW9elzEvM4/s320/China.jpg" alt="" id="BLOGGER_PHOTO_ID_5140796919916494482" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;script src="http://odnaknopka.ru/ok3.utf8.js"&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8421650938130481857-1340732995492528463?l=snowcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://snowcore.blogspot.com/feeds/1340732995492528463/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8421650938130481857&amp;postID=1340732995492528463' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/1340732995492528463'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/1340732995492528463'/><link rel='alternate' type='text/html' href='http://snowcore.blogspot.com/2007/12/blog-post.html' title='Удачное продвижение'/><author><name>unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_dnS89WGz6Yg/R1fHBMILfoI/AAAAAAAAAAk/Rq87DQSqbZ8/s72-c/UK.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8421650938130481857.post-1989084019092389693</id><published>2007-12-05T07:16:00.000-08:00</published><updated>2007-12-21T06:07:39.588-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='программирование'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Какая же ты прелесть ... C# !</title><content type='html'>С прошлой недели потихоньку начинаю переходить на C# - очень классная язык!  Я просто балдею от него!&lt;br /&gt;&lt;br /&gt;Параллельно с изучением в ШАГе решил написать свой проект для раскрутки сайтов.&lt;br /&gt;Идея давно всем известна и проста - полуавтоматическая регистрация в поисковиках, каталогах и т.д.&lt;br /&gt;&lt;br /&gt;Пока делаю основную часть программы. В будущем планирую добавить инструменты для упрощения работы с рекламными программами а также часть инструментов для блоггеров.&lt;br /&gt;&lt;br /&gt;Все свои результаты выложу здесь, так что следите :-)&lt;br /&gt;&lt;br /&gt;P.s.: использую Framework 2, у кого нету - можете скачать &lt;a href="http://depositfiles.com/files/2603257"&gt;ТУТ&lt;/a&gt; (23,5 Мб)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;script src="http://odnaknopka.ru/ok3.utf8.js"&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8421650938130481857-1989084019092389693?l=snowcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://snowcore.blogspot.com/feeds/1989084019092389693/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8421650938130481857&amp;postID=1989084019092389693' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/1989084019092389693'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/1989084019092389693'/><link rel='alternate' type='text/html' href='http://snowcore.blogspot.com/2007/12/c.html' title='Какая же ты прелесть ... C# !'/><author><name>unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8421650938130481857.post-769229092769605535</id><published>2007-11-30T07:13:00.000-08:00</published><updated>2008-11-13T15:07:34.324-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='юмор'/><title type='text'>Горькая правда</title><content type='html'>Иногда смотришь на вот такое, и становится немного грустно:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_dnS89WGz6Yg/R1ApCCDPCNI/AAAAAAAAAAc/KbXmh96s4oA/s1600-R/teapot.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_dnS89WGz6Yg/R1ApCCDPCNI/AAAAAAAAAAc/XwtMmMG8kzI/s320/teapot.jpg" alt="" id="BLOGGER_PHOTO_ID_5138652289716652242" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;script src="http://odnaknopka.ru/ok3.utf8.js"&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8421650938130481857-769229092769605535?l=snowcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://snowcore.blogspot.com/feeds/769229092769605535/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8421650938130481857&amp;postID=769229092769605535' title='Комментарии: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/769229092769605535'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/769229092769605535'/><link rel='alternate' type='text/html' href='http://snowcore.blogspot.com/2007/11/blog-post_2396.html' title='Горькая правда'/><author><name>unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_dnS89WGz6Yg/R1ApCCDPCNI/AAAAAAAAAAc/XwtMmMG8kzI/s72-c/teapot.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8421650938130481857.post-8850530152342193692</id><published>2007-11-30T04:56:00.000-08:00</published><updated>2008-01-18T00:40:05.179-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='программирование'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>GUID Generator</title><content type='html'>Вот на днях понадобилось генерировать GUID. GUID (Globally Unique Identifier) — представляет собой статистически уникальный 128-битный идентификатор. Его главная особенность — уникальность, которая позволяет создавать расширяемые сервисы и приложения без опасения получения конфликтов, вызванных совпадением идентификатора. Хотя уникальность каждого отдельного GUID и не гарантируется, общее количество уникальных ключей настолько велико, что вероятность того, что один и тот же ключ будет получен дважды, крайне мала.&lt;br /&gt;&lt;br /&gt;GUID — это частная реализация (фирмой Microsoft) стандарта, имеющего название Universally Unique Identifier (UUID).&lt;br /&gt;&lt;br /&gt;В тексте GUID записывается в виде строки из 16-ричных цифр, разбитых на группы дефисами и окружённой фигурными скобками:&lt;br /&gt;&lt;br /&gt;   {6F9619FF-8B86-D011-B42D-00CF4FC964FF}&lt;br /&gt;&lt;br /&gt;Есть куча online сервисов, которые позволяют это сделать, я же предлагаю скачать мой &lt;a href="http://roman-snitko.narod.ru/download/GUID_Generator.rar" style="color: green; font-weight: bold;"&gt;GUID Generator&lt;/a&gt; (написан на C# Framework v2.0 )&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;script src="http://odnaknopka.ru/ok3.utf8.js"&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8421650938130481857-8850530152342193692?l=snowcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://snowcore.blogspot.com/feeds/8850530152342193692/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8421650938130481857&amp;postID=8850530152342193692' title='Комментарии: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/8850530152342193692'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/8850530152342193692'/><link rel='alternate' type='text/html' href='http://snowcore.blogspot.com/2007/11/guid-generator.html' title='GUID Generator'/><author><name>unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8421650938130481857.post-9035484615049549886</id><published>2007-11-29T05:18:00.000-08:00</published><updated>2007-11-30T02:35:33.642-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='юмор'/><title type='text'>А теперь немного о нас...</title><content type='html'>&lt;br&gt;&lt;br /&gt;Поехал программист на стрельбище. Три раза стрелял, а ему с огневого рубежа сообщают, что ни одного попадания не зафиксировано.&lt;br /&gt;Программист вставил палец в ствол, нажал на спусковой крючок. Палец, естественно, разлетелся в разные стороны.&lt;br /&gt;Программист орет на огневого рубеж: - У меня на выходе все нормально, у вас проблемы с приемом.&lt;br /&gt;&lt;br&gt;&lt;br /&gt;Сидят два программиста в кафе. Мимо идет красивая девушка.&lt;br /&gt;- Классные у нее properties, - говорит один.&lt;br /&gt;- Вчера проверял... Все &lt;span style="font-weight:bold;"&gt;read only&lt;/span&gt;, - с грустью отвечает другой...&lt;br /&gt;&lt;br&gt;&lt;br /&gt;Останавливает дорожная полиция машину, из машины вываливается сильно пьяный программист.&lt;br /&gt;Полицейский спрашивает:&lt;br /&gt;- Ваши права?&lt;br /&gt;Водитель отвечает (с трудом ворочая языком):&lt;br /&gt;- Root!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;script src="http://odnaknopka.ru/ok3.utf8.js"&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8421650938130481857-9035484615049549886?l=snowcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://snowcore.blogspot.com/feeds/9035484615049549886/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8421650938130481857&amp;postID=9035484615049549886' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/9035484615049549886'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/9035484615049549886'/><link rel='alternate' type='text/html' href='http://snowcore.blogspot.com/2007/11/blog-post_29.html' title='А теперь немного о нас...'/><author><name>unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8421650938130481857.post-3143158853174901951</id><published>2007-11-27T01:55:00.000-08:00</published><updated>2008-11-13T15:07:34.600-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='программирование'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>PHP загрузчик с ProgressBar'ом</title><content type='html'>Одним из недостатков загрузки файлов через веб-интерфейс является отсутствие возможности увидеть статус процесса загрузки.&lt;br /&gt;&lt;br /&gt;Raditha Dissanyake предлагает свой вариант решения этой проблемы -&lt;br /&gt;"Mega Upload". CGI скрипты + javascript (страница загрузки: &lt;a href="http://sourceforge.net/projects/megaupload/"&gt;http://sourceforge.net/projects/megaupload/&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;При аплоаде появляется вот такое окошко:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_dnS89WGz6Yg/R06QkSDPCMI/AAAAAAAAAAU/wzYfsiVf-ic/s1600-h/progress.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_dnS89WGz6Yg/R06QkSDPCMI/AAAAAAAAAAU/wzYfsiVf-ic/s320/progress.png" alt="" id="BLOGGER_PHOTO_ID_5138203177871411394" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;В есь процесс проходит такой путь:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1) &lt;/span&gt;Сабмит формы с файлами&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2)&lt;/span&gt; Вызов javascript функции postIt&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;3)&lt;/span&gt; Передача управления upload - хендлэру&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;4) &lt;/span&gt;Хендлер выбирает нужный скрипт, который выполняет манипуляцию с файлами&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;5)&lt;/span&gt; Возврат в форму загрузки&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Рассмотрим все этапы подробнее.&lt;br /&gt;&lt;br /&gt;Форма загрузки должна иметь следующий вид:&lt;br /&gt;&lt;br /&gt;&lt;div style="color: rgb(102, 136, 170);"&gt;&lt;br /&gt;&amp;lt;form enctype="multipart/form-data" action="/cgi-bin/upload.cgi?sid=1Kfg87r4sd5" method="post" name="uploadForm"&amp;gt;                             &lt;br /&gt;&amp;lt;input name="sessionid" value="1Kfg87r4sd5" type="hidden"&amp;gt;&lt;br /&gt;&amp;lt;input name="upload_single_font" value="1" type="hidden"&amp;gt;                                                     &lt;br /&gt;Файл 1: &amp;lt;input name="file[0]" type="file"&amp;gt;&lt;br /&gt;Файл 2: &amp;lt;input name="file[1]" type="file"&amp;gt;&lt;br /&gt;Файл 3: &amp;lt;input name="file[2]" type="file"&amp;gt;&lt;br /&gt;&amp;lt;input type="reset"&gt; &amp;lt;input value="Загрузить" onclick="checkFields();" type="button"&amp;gt;           &lt;br /&gt;&amp;lt;/form&amp;gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Рассмотрим необходимые поля:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;sessionid&lt;/b&gt; - используется для безопасности (в CGI сравнивается с параметром, переданным в адресной строке)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;upload_single_font&lt;/b&gt; - название actiona, по которому в upload - хэндлере будет выбираться нужный скрипт для манипуляции с файлами&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;После нажатия на кнопку "Загрузить" вызывается javascript функция checkFields(). В ней можно проверить не пуста ли форма с файлами, а также здесь вызывается функция postIt() - она берет значения из формы и передает их CGI скрипту. После этого появляется окошко с ProgressBar'ом, управление передается upload - хэндлеру.&lt;br /&gt;Структура хэндлера следующая:&lt;br /&gt;&lt;br /&gt;&lt;pre style="color:navy;"&gt;&lt;br /&gt;if(isset($_REQUEST['upload_single_font']))&lt;br /&gt;   $upload_single_font = $_REQUEST['upload_single_font'];&lt;br /&gt;&lt;br /&gt;&lt;div style="color: rgb(69, 165, 73);"&gt;&lt;br /&gt;    // ...&lt;br /&gt;    // здесь могут быть проверки других actions&lt;br /&gt;    // ...&lt;br /&gt;&lt;/div&gt;&lt;br /&gt; else if (@$upload_single_font)&lt;br /&gt; {&lt;br /&gt;    include_once './upload_single_font.php';&lt;br /&gt;    exit;&lt;br /&gt; }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Таким образом управление передается соответствующему скрипту (upload_single_font.php)&lt;br /&gt;&lt;br /&gt; В скрипте для манипуляции с файлами массив файлов хранится в &lt;span style="font-weight:bold;"&gt;$file&lt;/span&gt; (не $_FILES !!!)&lt;br /&gt;&lt;br /&gt;И финальный этап - редирект в изначальную форму с радостным сообщением ("Файлы успешно загрузились").&lt;br /&gt;&lt;br /&gt; Если кто-нибудь еще знает способы реализации ProgressBar'ов - пишите в комментариях.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;script src="http://odnaknopka.ru/ok3.utf8.js"&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8421650938130481857-3143158853174901951?l=snowcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://snowcore.blogspot.com/feeds/3143158853174901951/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8421650938130481857&amp;postID=3143158853174901951' title='Комментарии: 9'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/3143158853174901951'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/3143158853174901951'/><link rel='alternate' type='text/html' href='http://snowcore.blogspot.com/2007/11/progress-bar-php.html' title='PHP загрузчик с ProgressBar&apos;ом'/><author><name>unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_dnS89WGz6Yg/R06QkSDPCMI/AAAAAAAAAAU/wzYfsiVf-ic/s72-c/progress.png' height='72' width='72'/><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8421650938130481857.post-3462337901691690629</id><published>2007-11-23T06:54:00.000-08:00</published><updated>2007-12-05T02:32:34.732-08:00</updated><title type='text'>О мне говорят</title><content type='html'>Сегодня проходил тест на Mamba - у них партнерка есть. Смысл таков: пользователи, которые пройдут тест по Вашей рекомендации и заключат трудовой договор с Mamba, Вы получите 500 гринов (так написано у них на сайте).&lt;br /&gt;Что ж, как для новичка - фраза "Я -- хороший PHP-программист     200 баллов" звучит очень приятно :-)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.corp.mamba.ru/test/promo.phtml"&gt;&lt;img src="http://www.corp.mamba.ru/test/widget.phtml?id=14626" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8421650938130481857-3462337901691690629?l=snowcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://snowcore.blogspot.com/feeds/3462337901691690629/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8421650938130481857&amp;postID=3462337901691690629' title='Комментарии: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/3462337901691690629'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/3462337901691690629'/><link rel='alternate' type='text/html' href='http://snowcore.blogspot.com/2007/11/blog-post_23.html' title='О мне говорят'/><author><name>unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8421650938130481857.post-4878496381496954859</id><published>2007-11-22T07:57:00.000-08:00</published><updated>2007-12-21T06:08:28.385-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='программирование'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>Прикручиваем WebMoney на сайт</title><content type='html'>Вот так выводишь денежку из партнерок, и думаешь: а как же это сделано у них на сайте?&lt;br /&gt;Для операций с WebMoney существует официальный  "&lt;span style="font-weight: bold;"&gt;Merchant WebMoney Transfer&lt;/span&gt;".&lt;br /&gt;&lt;br /&gt;Он содержит несколько интерфейсов:&lt;br /&gt;&lt;ul&gt;&lt;li&gt; &lt;a href="https://merchant.webmoney.ru/conf/guide_simple.asp"&gt;Web Merchant Interface&lt;/a&gt; - интерфейс позволяющий быстро и с минимальными затратами дополнить свой веб-сайт или домашнюю страничку всем  необходимым для того, чтобы начать принимать WM за предоставляемые вами товары или услуги&lt;/li&gt;&lt;li&gt; &lt;a href="https://merchant.webmoney.ru/conf/guide_pci.asp"&gt;Click&amp;amp;Buy Merchant Interface&lt;/a&gt; - интерфейс позволяющий покупателю оплатить и получить товар на вашем веб-сайте одним кликом мышки; поддерживается начиная с версии WM Keeper Classic 2.2.0.9 &lt;/li&gt;&lt;li&gt; &lt;a href="http://www.webmoney.ru/rus/developers/interfaces/index.shtml"&gt;WM Automation Interface&lt;/a&gt; - набор интерфейсов,  позволяющих создавать программы, выполняющие операции в системе WebMoney Transfer с использованием протоколов HTTPS и XML.&lt;/li&gt;&lt;/ul&gt;Все примеры и подробности - на официальном сайте &lt;a href="https://merchant.webmoney.ru/conf/default.asp"&gt;WebMoney&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;А как это сделать на PHP рассказано&lt;span style="color: rgb(0, 0, 153);"&gt; &lt;/span&gt;&lt;a style="color: rgb(0, 0, 153);" href="http://www.codenet.ru/webmast/perl/WebMoney.php"&gt;ЗДЕСЬ&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8421650938130481857-4878496381496954859?l=snowcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://snowcore.blogspot.com/feeds/4878496381496954859/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8421650938130481857&amp;postID=4878496381496954859' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/4878496381496954859'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/4878496381496954859'/><link rel='alternate' type='text/html' href='http://snowcore.blogspot.com/2007/11/webmoney.html' title='Прикручиваем WebMoney на сайт'/><author><name>unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8421650938130481857.post-774154909906975119</id><published>2007-11-22T06:03:00.000-08:00</published><updated>2008-11-13T15:07:35.213-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='юмор'/><title type='text'>XAP жжот )))</title><content type='html'>Был на XAP'овском сайте, сделал небольшой эксперимент. На главной странице есть Калькулятор дохода, мне стало интересно, сколько же по их рассчетам может заработать дядюшка Google. Результат - смотрите сами:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_dnS89WGz6Yg/R0WPnL8uNTI/AAAAAAAAAAM/hJABUNaY41E/s1600-h/xap.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_dnS89WGz6Yg/R0WPnL8uNTI/AAAAAAAAAAM/hJABUNaY41E/s320/xap.gif" alt="" id="BLOGGER_PHOTO_ID_5135668853471065394" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;т.е. всемирный МЕГА-поисковик срубит 100 баксов в месяц... Аж страшно подумать...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8421650938130481857-774154909906975119?l=snowcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://snowcore.blogspot.com/feeds/774154909906975119/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8421650938130481857&amp;postID=774154909906975119' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/774154909906975119'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/774154909906975119'/><link rel='alternate' type='text/html' href='http://snowcore.blogspot.com/2007/11/xap.html' title='XAP жжот )))'/><author><name>unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_dnS89WGz6Yg/R0WPnL8uNTI/AAAAAAAAAAM/hJABUNaY41E/s72-c/xap.gif' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8421650938130481857.post-2263054920266055778</id><published>2007-11-22T01:53:00.000-08:00</published><updated>2007-12-21T06:08:28.385-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='программирование'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>Создание XML на php</title><content type='html'>Все знают о DOM функциях в javascript. При помощи них можно создать или изменить дерево документа динамически. В языке php тоже предусмотрен целый набор DOM&lt;br /&gt;&lt;br /&gt;функций, причем они не требуют никаких дополнительных библиотек, так как являются частью ядра php.&lt;br /&gt;&lt;br /&gt;Функции DOM очень удобно использовать при создании XML файлов.&lt;br /&gt;Рассмотрим небольшой пример: нужно построить XML такого вида:&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;pre style="color:#6688aa;"&gt;&lt;br /&gt;&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;&lt;br /&gt;&amp;lt;Товары&amp;gt;&lt;br /&gt;    &amp;lt;Клавиатура КоличествоКнопок="108"&amp;gt;&lt;br /&gt;        &amp;lt;Бренд&gt;Logitech&amp;lt;/Бренд&amp;gt;&lt;br /&gt;        &amp;lt;Тип&gt;проводная&amp;lt;/Тип&amp;gt;&lt;br /&gt;        &amp;lt;Модель&gt;KB-2025&amp;lt;/Модель&amp;gt;&lt;br /&gt;        &amp;lt;Производитель&gt;Тайвань&amp;lt;/Производитель&amp;gt;&lt;br /&gt;    &amp;lt;/Клавиатура&amp;gt;&lt;br /&gt;&amp;lt;/Товары&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Чтобы реализовать это при помощи DOM функций, создаем объект &lt;b&gt;DOMDocument&lt;/b&gt;. Это следует сделать так:&lt;br /&gt;&lt;code&gt;$dom = new DOMDocument("1.0");&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Основные методы, которые нам понадобятся:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;$dom-&gt;createElement(имя_элемента) - создает XML элемент&lt;/li&gt;&lt;br /&gt;&lt;li&gt;$dom-&gt;createAttribute(имя_аттрибута) - создает аттрибут для элемента&lt;/li&gt;&lt;br /&gt;&lt;li&gt;$dom-&gt;createTextNode(текст) - создает текстовый элемент (узел)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;$Node-&gt;appendChild(объект_Node) - применяет узел к указанному элементу&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;Далее приведен код с комментариями:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;   $dom = new DOMDocument("1.0");&lt;br /&gt;   &lt;span style="color:#45a549"&gt;// создаем корневой элемент 'Товары'&lt;/span&gt;&lt;br /&gt;   $root = $dom-&gt;createElement('Товары');&lt;br /&gt;   &lt;span style="color:#45a549"&gt;// создаем товар 'Клавиатура'&lt;/span&gt;&lt;br /&gt;   $keyb = $dom-&gt;createElement('Клавиатура');&lt;br /&gt;   &lt;span style="color:#45a549"&gt;// создаем аттрибут для клавиатуры&lt;/span&gt;&lt;br /&gt;   $q = $dom-&gt;createAttribute('КоличествоКнопок');&lt;br /&gt;   &lt;span style="color:#45a549"&gt;// применяем аттрибут для клавиатуры&lt;/span&gt;&lt;br /&gt;   $keyb-&gt;appendChild($q);&lt;br /&gt;   &lt;span style="color:#45a549"&gt;// добавляем элемент 'Клавиатура' к корневому элементу &lt;/span&gt;&lt;br /&gt;   $root-&gt;appendChild($keyb);&lt;br /&gt;  &lt;br /&gt;   &lt;span style="color:#45a549"&gt;// создаем элемент 'Бренд'&lt;/span&gt;&lt;br /&gt;   $brand = $dom-&gt;createElement('Бренд');&lt;br /&gt;   &lt;span style="color:#45a549"&gt;// создаем текстовый узел&lt;/span&gt;&lt;br /&gt;   $txt = $dom-&gt;createTextNode('Logitec');&lt;br /&gt;   &lt;span style="color:#45a549"&gt;// записываем текст в содержимое тега 'Бренд'&lt;/span&gt;&lt;br /&gt;   $brand-&gt;appendChild($txt);&lt;br /&gt;&lt;br /&gt;   &lt;span style="color:#45a549"&gt;// располагаем 'Бренд' внутри тега 'Клавиатура'&lt;/span&gt;&lt;br /&gt;   $keyb = $dom-&gt;appendChild($brand);&lt;br /&gt;   &lt;span style="color:#45a549"&gt;// ...&lt;/span&gt;&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt; Таким же образом создаем все остальные элементы. После чего, мы можем сохранить получившийся XML файл:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;   &lt;span style="color:#45a549"&gt;// сохраняем файл&lt;/span&gt;&lt;br /&gt;   $dom-&gt;save('file.xml');&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Кроме этого можно не сохранять данные в файл, а получить их в виде строки:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;   &lt;span style="color:#45a549"&gt;// получаем строку&lt;/span&gt;&lt;br /&gt;   $str = $dom-&gt;saveXML();&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8421650938130481857-2263054920266055778?l=snowcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://snowcore.blogspot.com/feeds/2263054920266055778/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8421650938130481857&amp;postID=2263054920266055778' title='Комментарии: 4'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/2263054920266055778'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/2263054920266055778'/><link rel='alternate' type='text/html' href='http://snowcore.blogspot.com/2007/11/xml-php.html' title='Создание XML на php'/><author><name>unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8421650938130481857.post-6121932802676492236</id><published>2007-11-22T00:35:00.001-08:00</published><updated>2007-11-22T00:57:54.035-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Партнерки'/><title type='text'>Партнер №2 - WMLink.ru</title><content type='html'>Мои эксперименты продолжались, я нашел &lt;a href="http://wmlink.ru/index.php?ref=9306"&gt;WMLink.ru&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;В принципе, такая же система как Tak.ru, только цена за клик поменьше (((. Кроме того, ребята молодцы в следующем: когда ссылка не засчитывается, всеравно происходит редирект на рекламируемый сайт, а в Tak.ru выводилось предупреждение.&lt;br /&gt;&lt;br /&gt; Достоинства те же, что и в предыдущей партнерки + дизайн получше. Но несколько раз была ситуация, когда я не мог снять деньги (выводилось сообщение: "Ошибка перевода: Недостаточно денег в кошеле-источнике&lt;br /&gt;Попробуйте повторить попытку позже."). Написал сообщение администрации - ответили через пару дней: "попробуйте снять деньги в другой валюте".&lt;br /&gt;Вот сегодня опять ломился туда - ничего не получается (обычно, я снимаю денежку в рублях). Попробовал в WMZ - перевод выписан успешно )))&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8421650938130481857-6121932802676492236?l=snowcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://snowcore.blogspot.com/feeds/6121932802676492236/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8421650938130481857&amp;postID=6121932802676492236' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/6121932802676492236'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/6121932802676492236'/><link rel='alternate' type='text/html' href='http://snowcore.blogspot.com/2007/11/2-wmlinkru.html' title='Партнер №2 - &lt;a href=&quot;http://wmlink.ru/index.php?ref=9306&quot;&gt;WMLink.ru&lt;/a&gt;'/><author><name>unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8421650938130481857.post-2099021987216535580</id><published>2007-11-21T06:10:00.000-08:00</published><updated>2007-11-21T07:26:25.277-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Партнерки'/><title type='text'>Первый рекламный партнер</title><content type='html'>Моим первым рекламным партнером стал &lt;a href="http://tak.ru/partner.php?id=92353"&gt;Tak.ru&lt;/a&gt;. Как для новичка - подходящая вещь, при помощи которой можно экспериментировать.  Регистрация - банальные поля типа логин, пароль, почта. Ссылки генерируются в течении 10-15 минут.&lt;br /&gt;&lt;br /&gt;То что понравилось:&lt;br /&gt;&lt;ul&gt;&lt;li&gt; отсутствие минимальной суммы для выплаты&lt;/li&gt;&lt;li&gt; использование WebMoney&lt;/li&gt;&lt;li&gt; простота в управлении. &lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-weight: bold;"&gt; Большой&lt;/span&gt; недостаток - очень много кликов не засчитываются (происходит редирект на Takовский сайт с сообщением "&lt;span style="color: rgb(221, 0, 0);font-size:12;" &gt;&lt;span style="font-family:verdana;"&gt;Вы были перенаправлены на данную страницу, поскольку&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;переход по рекламной ссылке по каким-то причинам не был засчитан&lt;/span&gt;.")&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-size:100%;"&gt;Цена за клик - от 45 коп. до 1.5 рубля (изначально цена больше - 25% берет себе система).&lt;br /&gt;Существует также реферальная система - вы получаете по 10% с каждого своего реферала.&lt;br /&gt;&lt;br /&gt;Всем кто заинтересовался - прошу &lt;a href="http://tak.ru/partner.php?id=92353"&gt;СЮДА&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8421650938130481857-2099021987216535580?l=snowcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://snowcore.blogspot.com/feeds/2099021987216535580/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8421650938130481857&amp;postID=2099021987216535580' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/2099021987216535580'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/2099021987216535580'/><link rel='alternate' type='text/html' href='http://snowcore.blogspot.com/2007/11/blog-post.html' title='Первый рекламный партнер'/><author><name>unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8421650938130481857.post-3994924021369098451</id><published>2007-11-20T07:47:00.000-08:00</published><updated>2007-11-21T06:44:24.166-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='мысли'/><title type='text'>Intro 2 Fundless</title><content type='html'>В жизни каждого человека приходит время, когда он делает поворот. Я не имею ввиду мизерный поворотик на 1 градус. Речь идет о серъезных изменениях в жизни.&lt;br /&gt;&lt;br /&gt;С каждым новым изменением человек растет, учится, получает опыт. Причем каждое новое событие заставляет посмотреть назад, проанализировать прошлое. Каким же наивным и необдуманным оно кажется. Но каждый новый шаг - увереннее, больше и сильнее.&lt;br /&gt;&lt;br /&gt;Вот так и растешь, понимаешь что бесконечно то количество шагов к совершенству... Да какое совершенство... его просто НЕ СУЩЕСТВУЕТ! Но стремиться НУЖНО.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8421650938130481857-3994924021369098451?l=snowcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://snowcore.blogspot.com/feeds/3994924021369098451/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8421650938130481857&amp;postID=3994924021369098451' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/3994924021369098451'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8421650938130481857/posts/default/3994924021369098451'/><link rel='alternate' type='text/html' href='http://snowcore.blogspot.com/2007/11/intro-2-fundless.html' title='Intro 2 Fundless'/><author><name>unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
