<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>CTAPbIu_MABP&#039;s BLOG &#187; Программирование</title>
	<atom:link href="http://mabp.kiev.ua/category/programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://mabp.kiev.ua</link>
	<description>энтузиазм = 1/опыт © Старый Мавр</description>
	<lastBuildDate>Thu, 26 Jan 2012 10:34:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2</generator>
		<item>
		<title>О $.ajax.context</title>
		<link>http://mabp.kiev.ua/2012/01/26/about-jquery-ajax-context/</link>
		<comments>http://mabp.kiev.ua/2012/01/26/about-jquery-ajax-context/#comments</comments>
		<pubDate>Thu, 26 Jan 2012 10:32:54 +0000</pubDate>
		<dc:creator>CTAPbIu_MABP</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Программирование]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">http://mabp.kiev.ua/?p=1390</guid>
		<description><![CDATA[Вроде удобно сделали, теперь можно задать контекст для метода success, теперь вместо $.ajax({ url: "...", success: function(){ $("#myTemplate").tmpl(data).appendTo($("#myContainer").empty()); } }); можно удобно писать $.ajax({ url: "...", context: $("#myContainer").empty(), success: function(){ $("#myTemplate").tmpl(data).appendTo(this); } }); только это все разбивается о рифы реальности, когда аджакс надо повесить на кнопку $("#myButton").click(function(){ $.ajax({ url: "...", context: $("#myContainer").empty(), success: function(){ $("#myTemplate").tmpl(data).appendTo(this); [...]]]></description>
			<content:encoded><![CDATA[<p>Вроде удобно сделали, теперь можно задать контекст для метода success, теперь вместо </p>
<span id="more-1390"></span>
<pre><code class="javascript">
$.ajax({
	url: "...",
	success: function(){
		$("#myTemplate").tmpl(data).appendTo($("#myContainer").empty());
	}
});
</code></pre>

<p>можно удобно писать</p>

<pre><code class="javascript">
$.ajax({
	url: "...",
	context: $("#myContainer").empty(),
	success: function(){
		$("#myTemplate").tmpl(data).appendTo(this);
	}
});
</code></pre>

<p>только это все разбивается о рифы реальности, когда аджакс надо повесить на кнопку</p>
<pre><code class="javascript">
$("#myButton").click(function(){
	$.ajax({
		url: "...",
		context: $("#myContainer").empty(),
		success: function(){
			$("#myTemplate").tmpl(data).appendTo(this);
		}
	});
});
</code></pre> 

<p>При трех быстрых кликах, контейнер три раза обнуляется, потом идет запрос/ответ и шаблон три раза вставляется в контейнер.</p>]]></content:encoded>
			<wfw:commentRss>http://mabp.kiev.ua/2012/01/26/about-jquery-ajax-context/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>A4Tech X-705</title>
		<link>http://mabp.kiev.ua/2012/01/24/a4tech-x-705/</link>
		<comments>http://mabp.kiev.ua/2012/01/24/a4tech-x-705/#comments</comments>
		<pubDate>Tue, 24 Jan 2012 10:09:59 +0000</pubDate>
		<dc:creator>CTAPbIu_MABP</dc:creator>
				<category><![CDATA[Программирование]]></category>

		<guid isPermaLink="false">http://mabp.kiev.ua/?p=1388</guid>
		<description><![CDATA[В добавок к клаве A4Tech X7-G700 купил себе мышку, надо было раньше это сделать, она охуенна.]]></description>
			<content:encoded><![CDATA[<p>В добавок к клаве <a href="http://mabp.kiev.ua/2010/10/18/a4tech-x7/">A4Tech X7-G700</a> купил себе мышку, надо было раньше это сделать, она охуенна.</p>
<span id="more-1388"></span>
<div style="text-align:center;"><img src="http://mabp.kiev.ua/content/img/items/a4tech.X-705.jpg" alt="a-tech-x7"/></div>
]]></content:encoded>
			<wfw:commentRss>http://mabp.kiev.ua/2012/01/24/a4tech-x-705/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Как закрыть диалог</title>
		<link>http://mabp.kiev.ua/2012/01/17/how-to-close-dialog/</link>
		<comments>http://mabp.kiev.ua/2012/01/17/how-to-close-dialog/#comments</comments>
		<pubDate>Mon, 16 Jan 2012 23:50:41 +0000</pubDate>
		<dc:creator>CTAPbIu_MABP</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Программирование]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[jqueryUI]]></category>
		<category><![CDATA[Modal Dialog]]></category>

		<guid isPermaLink="false">http://mabp.kiev.ua/?p=1386</guid>
		<description><![CDATA[Представьте что у вас на странице есть 5 разных диалогов, они могут быть открыты в любой последовательности но два сразу открытыми быть не могут. Значит надо закрывать все открытые, но как их ывыбрать, не хранить же 5 ссылок на диалоги. Первый пришедший в голову вариант был прост как двери $("#dialog1","#dialog2","#dialog3","#dialog4","#dialog5").dialog("close"); но если хотя бы один [...]]]></description>
			<content:encoded><![CDATA[<p>Представьте что у вас на странице есть 5 разных диалогов, они могут быть открыты в любой последовательности но два сразу открытыми быть не могут. Значит надо закрывать все открытые, но как их ывыбрать, не хранить же 5 ссылок на диалоги.</p>
<span id="more-1386"></span>
<p>Первый пришедший в голову вариант был прост как двери</p>

<pre><code class="javascript">
$("#dialog1","#dialog2","#dialog3","#dialog4","#dialog5").dialog("close");
</code></pre>

<p>но если хотя бы один диалог не был создан при старте страницы то вылетит Exception. Естественно создавать диалоги при старте бессмысленно. ни один может не понадобиться а ресурсов они отъедают нормально. Второй вариант был таким</p>

<pre><code class="javascript">
for (var i=1,j=5;i&lt;j;i++){
	try{
		$("#dialog"+i).dialog("close");
	}catch(e){
		// do nothing
	}
}
</code></pre>

<p>и несколько дней эта конструкция муляла мне глаза. Наконец я переписал это примерно так</p>

<pre><code class="javascript">
for (var i=1,j=5,d;i&lt;j;i++){
	d = $("#dialog"+i);
	if(d.data("dialog")){
		d.dialog("close");
	}
}
</code></pre>

<p>стало лучше но еще не совершенно, последним вариантом стало</p>

<pre><code class="javascript">
$("div:data(dialog)").dialog("close");
</code></pre>

<p>теперь я доволен, а какие еще есть варианты?</p>]]></content:encoded>
			<wfw:commentRss>http://mabp.kiev.ua/2012/01/17/how-to-close-dialog/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>@font-face</title>
		<link>http://mabp.kiev.ua/2011/11/12/font-face/</link>
		<comments>http://mabp.kiev.ua/2011/11/12/font-face/#comments</comments>
		<pubDate>Sat, 12 Nov 2011 13:07:28 +0000</pubDate>
		<dc:creator>CTAPbIu_MABP</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Программирование]]></category>

		<guid isPermaLink="false">http://mabp.kiev.ua/?p=1384</guid>
		<description><![CDATA[Я сначала подумал ради прикола оформить эту статью при помощи comic sans MS, но потом решил вас пожалеть... Но шутки комикам, а я сегодня буду писать о шрифтах, а точнее об их подключении на страницу. Для начала возьмем какой-нибудь бесплатный шрифт, например Marke Eigenbau. Это реальный восьмипиксельный шрифт, не смотря на название, и дальше я [...]]]></description>
			<content:encoded><![CDATA[<p>Я сначала подумал ради прикола оформить эту статью при помощи <font face="comic sans MS" color="violet">comic sans MS</font>, но потом решил вас пожалеть...</p>
<span id="more-1384"></span>
<p>Но шутки комикам, а я сегодня буду писать о шрифтах, а точнее об их подключении на страницу. Для начала возьмем какой-нибудь бесплатный шрифт, например Marke Eigenbau. Это реальный восьмипиксельный шрифт, не смотря на название, и дальше я буду использовать его как пример.</p>

<p>Еще забыл оговориться, эта статья не касается 
<a href="http://wiki.novemberborn.net/sifr/">sIFR</a>, 
<a href="http://cufon.shoqolate.com/generate/">typeFace</a> и 
<a href="http://typeface.neocracy.org/">cufon</a>. Так что по ссылочкам сами походите, а я пока расскажу про нативный @font-face.</p>

<p>Теория простая - пишем в CSS правило:</p>
<pre><code class="css">
@font-face {
	font-family: 'MarkeEigenbau';
	src: url('../fonts/MarkeEigenbau/MarkeEigenbau.ttf') format('truetype');
}
</code></pre>

<p>Все бы хорошо, но у нас есть целый зоопарк браузеров, форматов и лицензий поэтому все-всех, а страдаем мы. После консультации у Гугла выясняется, что достаточно все 4 формата чтобы все были довольны ttf, eot, woff, svg. Правим CSS, но не забываем что сотрудники компании MS каждый день усердно работают над тем чтобы нам было тяжелее работать.</p>

<pre><code class="css">
@font-face {
	font-family: 'MarkeEigenbau';
	src: url('MarkeEigenbau.eot?#iefix') format('embedded-opentype'),
		url('MarkeEigenbau.woff') format('woff'),
		url('MarkeEigenbau.ttf') format('truetype'),
		url('MarkeEigenbau.svg#MarkeEigenbau') format('svg');
}
</code></pre>

<p>Для пытливых: Похоже IE разбирает параметр src регуляркой c включенным квантификатором жадности и этот # обрывает паттерн.</p>

<p>Ой забыл что у нас нет всех этих файлов, тогда их можно нагенерить например <a href="http://www.fontsquirrel.com">белкой</a> или <a href="http://onlinefontconverter.com/">фонт конвертером</a>, но белка мне больше нравиться, потому что она еще и генерит CSS.</p>

<p>Для пытливых: Раньше белка вставляла в хеш после svg какую-то ересь типа webfontiGyDMQZD, но сейчас её попустило и она правильно вставляет туда имя шрифта.</p>

<p>Итак, на руках 4 файла и куча радости, но мы ж хотим не просто шрифт, а хотим жир, курсив, и жирный курсив, и чтоб удобно! Для начала скачиваем все это хозяйство и конвертим. Если вы используете белку то на выходе у вас 16 файлов шрифта и 16 правил для @font-face</p>

<pre><code class="css">
@font-face {
	font-family: 'MarkeEigenbauBold';
	src: url('MarkeEigenbauBold.eot?#iefix') format('embedded-opentype'),
		url('MarkeEigenbauBold.woff') format('woff'),
		url('MarkeEigenbauBold.ttf') format('truetype'),
		url('MarkeEigenbauBold.svg#MarkeEigenbauBold') format('svg');
	font-weight: normal;
	font-style: normal;
}
</code></pre>


<p>Я считаю это перебор, тем более не удобно каждый раз как нужен курсив использовать конструкцию с полным перечислением шрифтов.</p>

<pre><code class="css">
.markerEigenbauBold {
	font-family: 'MarkeEigenbauItalic' /*, [fallback]*/, sans-serif;
	font-style: italic;
}
</code></pre>

<p>и все только потому что так нагенерила белка, поэтому правим</p>

<pre><code class="css">
@font-face {
	font-family: 'MarkeEigenbau';
	src: url('MarkeEigenbauBoldItalic.eot?#iefix') format('embedded-opentype'),
		url('MarkeEigenbauBoldItalic.woff') format('woff'),
		url('MarkeEigenbauBoldItalic.ttf') format('truetype'),
		url('MarkeEigenbauBoldItalic.svg#MarkeEigenbauBoldItalic') format('svg');
	font-weight: bold;
	font-style: italic;
}
</code></pre>

<p>Дышать явно стало проще потому что правил осталось 4 и они теперь не напрягают. Но что делать если вы вдруг захотели осчастливить пользователей Mac шрифтом Calibri, вам ведь не надо заставлять пользователей седьмой винды и висты качать его, поэтому добавляем еще локальное имя шрифта.</p>

<pre><code class="css">
@font-face {
	font-family: 'Calibri';
	src: local('Calibri Bold Italic'),
		url('CalibriBoldItalic.eot#iefix') format('embedded-opentype'),
		url('CalibriBoldItalic.woff') format('woff'),
		url('CalibriBoldItalic.ttf') format('truetype'),
		url('CalibriBoldItalic.svg#CalibriBoldItalic') format('svg');
	font-weight: bold;
	font-style: italic;
}
</code></pre>

<p>Ну вот почти все, осталась маленькая деталь, а что если ваш сайт надежно защищен SSL, вы думаете это будет работать? Правильно, надо еще пошаманить с .htaccess, который достаточно положить в директорю со шрифтами.</p>

<pre><code class="no-highlight">
&lt;IfModule mod_headers.c&gt;
	Header set Access-Control-Allow-Origin "*"
&lt;/IfModule&gt;
</code></pre>

<p>А раз полезли в .htaccess то добавляем правильные mine-type</p>

<pre><code class="no-highlight">
AddType application/vnd.ms-fontobject .eot
AddType font/ttf .ttf
AddType font/otf .otf
AddType application/x-woff .woff
AddType image/svg+xml .svg
AddType application/octet-stream .afm
</code></pre>

<p>Вот вроде и все... А вывод такой: используйте Helvetica, не бодрите мозги :)</p>
]]></content:encoded>
			<wfw:commentRss>http://mabp.kiev.ua/2011/11/12/font-face/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>jQuery UI: Tabs below content</title>
		<link>http://mabp.kiev.ua/2011/11/10/jquery-ui-tabs-below-content/</link>
		<comments>http://mabp.kiev.ua/2011/11/10/jquery-ui-tabs-below-content/#comments</comments>
		<pubDate>Thu, 10 Nov 2011 10:25:05 +0000</pubDate>
		<dc:creator>CTAPbIu_MABP</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Программирование]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[jqueryUI]]></category>

		<guid isPermaLink="false">http://mabp.kiev.ua/?p=1382</guid>
		<description><![CDATA[Похоже открывается очередной сезон этого блога. И вот я вчера приготовил статью про табики, я всего лишь хотел сделать их снизу, и выложить пример даже без объяснения, но все серьезно затянулось и сейчас вам предстоит прочитать достаточно много текста. Как обычно примера из официального мануала мне не достаточно поэтому начал хачить. Собственно то что мне [...]]]></description>
			<content:encoded><![CDATA[<p>Похоже открывается очередной сезон этого блога. И вот я вчера приготовил статью про табики, я всего лишь хотел сделать их снизу, и выложить пример даже без объяснения, но все серьезно затянулось и сейчас вам предстоит прочитать достаточно много текста.</p>

<span id="more-1382"></span>

<p>Как обычно примера из <a href="http://jqueryui.com/demos/tabs/#bottom" rel="nofollow external">официального мануала</a> мне не достаточно поэтому начал хачить. Собственно то что мне надо было находиться в низу страницы, а как я его делал я расскажу сейчас.</p>

<p>Основная идея примера из мануала: чтобы на одной и той же разметке можно было сделать табики и сверху и снизу. Это очень хорошая идея но мне явно не подходила. Вкратце табики выглядят так: общий контейнер, в нем сверху UL с закладками, снизу - DIV с контентом. Это верно как для разметки так и для отображения. Для табиков снизу разметка та же, но табики имеют position:absolute и bottom:0 . Казалось бы все должно работать, НО есть одно НО, и это не IE! Это как не странно WebKit. Все размерности в JQuery UI указаны в EM, что бы все одинаково хорошо смотрелось с любым размером текста, так вот при переходе из EM (да в общем и из остальных относительных величин) в PX, WebKit  округляет числа в большую сторону, тогда как все остальные в меньшую, или подгоняют. Об этом еще <a href="http://ejohn.org/blog/sub-pixel-problems-in-css/" rel="nofollow external">Resig</a> писал в далеком 2008 году. При таком подходе прижатые к низу табики налазят на текст на 1-2PX. Это совершенно не волнует пример в мануале, потому что текст там не имеет бордера и заранее короче на несколько пикселей, так что между ним и прижатыми табами есть зазор. Ради красоты пришлось пожертвовать первоначальной разметкой, перенеся табики под текст. Хотя по моему вообще это не принципиально, потому что я сделал это скриптом, да и вернуть их тоже не проблема.</p>

<p>Вторая проблема это !important. <a href="http://teambook.ru/approaches/the-ezhupa" rel="nofollow external">ежупанятна</a> что универсальность в таком большом CSS framework требует перекрывать что-то, что было написано позже, тем что было написано раньше. Тут кроется проблема всего framework. Я свято уверен что классы типа ui-state-[default|hover|active] не должны определять толщину и тип бордера, а только цвет, потому что потом надо городить огороды. В своем маленьком примере я это поправил. </p>

<p>Ну и последние, надо открывать таб по урлу. Как бы самое обычное дело, но предусмотрено в документации только через куки, а если руками указывать то надо знать индекс таба а не скажем его ID. С этой маленькой гадкой проблемой я тоже очень элегантно справился двумя строками кода.</p>


<link rel="stylesheet" type="text/css" media="screen" href="/content/css/jquery-ui-tabs-below-content.css"/>
<script type="text/javascript" src="/content/js/jquery-ui-tabs-below-content.js"></script>

<div id="tabs" class="tabs-bottom">
	<ul>
		<li><a href = "#tabs-1">1</a></li>
		<li><a href = "#tabs-2">2</a></li>
		<li><a href = "#tabs-3">3</a></li>
		<li><a href = "#tabs-4">4</a></li>
		<li><a href = "#tabs-5">5</a></li>
	</ul>
	<div id="tabs-1">
		<h1>1</h1>
	</div>
	<div id="tabs-2">
		<h1>2</h1>
	</div>
	<div id="tabs-3">
		<h1>3</h1>
	</div>
	<div id="tabs-4">
		<h1>4</h1>
	</div>
	<div id="tabs-5">
		<h1>5</h1>
	</div>
</div>

<p>KISS</p>]]></content:encoded>
			<wfw:commentRss>http://mabp.kiev.ua/2011/11/10/jquery-ui-tabs-below-content/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Aeromall</title>
		<link>http://mabp.kiev.ua/2011/06/22/aeromall/</link>
		<comments>http://mabp.kiev.ua/2011/06/22/aeromall/#comments</comments>
		<pubDate>Wed, 22 Jun 2011 12:28:58 +0000</pubDate>
		<dc:creator>CTAPbIu_MABP</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Программирование]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[map]]></category>

		<guid isPermaLink="false">http://mabp.kiev.ua/?p=1371</guid>
		<description><![CDATA[Аэромолл наконец открыл свой сайт, на котором установлена моя карта. Плохо только то что маркеры повторяются по горизонтали, есть у кого идеи как исправить? Тайлы резал вот этим]]></description>
			<content:encoded><![CDATA[<p>Аэромолл наконец открыл свой сайт, на котором установлена моя <a href="http://aeromall.com.ua/ru/об-аэромолл/виртуальный-тур/" rel="external nofollow">карта</a>. Плохо только то что маркеры повторяются по горизонтали, есть у кого идеи как исправить?</p>

<p>Тайлы резал вот <a href="http://code.google.com/p/googletilecutter/">этим</a></p>
]]></content:encoded>
			<wfw:commentRss>http://mabp.kiev.ua/2011/06/22/aeromall/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>поменять переменные значениями</title>
		<link>http://mabp.kiev.ua/2011/05/24/swap-two-variables/</link>
		<comments>http://mabp.kiev.ua/2011/05/24/swap-two-variables/#comments</comments>
		<pubDate>Tue, 24 May 2011 13:24:47 +0000</pubDate>
		<dc:creator>CTAPbIu_MABP</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Программирование]]></category>
		<category><![CDATA[algorithms]]></category>
		<category><![CDATA[perfomance]]></category>

		<guid isPermaLink="false">http://mabp.kiev.ua/?p=1363</guid>
		<description><![CDATA[Поменять переменные значениями, в одну строку, без введения третьей переменной. var a = 1, b = 3; a = [b, b = a][0]; console.log(a, b); хз правда сколько при этом выделяется памяти на создание массива.]]></description>
			<content:encoded><![CDATA[<p>Поменять переменные значениями, в одну строку, без введения третьей переменной.</p>

<span id="more-1363"></span>

<pre><code class="javascript">
var a = 1, b = 3;
a = [b, b = a][0];
console.log(a, b);
</code></pre>

<p>хз правда сколько при этом выделяется памяти на создание массива.</p>]]></content:encoded>
			<wfw:commentRss>http://mabp.kiev.ua/2011/05/24/swap-two-variables/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>FireBug vs WebInspector</title>
		<link>http://mabp.kiev.ua/2011/05/24/firebug-vs-webinspector/</link>
		<comments>http://mabp.kiev.ua/2011/05/24/firebug-vs-webinspector/#comments</comments>
		<pubDate>Tue, 24 May 2011 09:56:09 +0000</pubDate>
		<dc:creator>CTAPbIu_MABP</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Программирование]]></category>

		<guid isPermaLink="false">http://mabp.kiev.ua/?p=1362</guid>
		<description><![CDATA[Принципиально сижу на фаербаге, но сегодня вебинспектор зарешал, потому что фаербаг не показывает псевдо-элементы типа :before и :after, а отлаживать как-то надо...]]></description>
			<content:encoded><![CDATA[<p>Принципиально сижу на фаербаге, но сегодня вебинспектор зарешал, потому что фаербаг не показывает псевдо-элементы типа :before и :after, а отлаживать как-то надо...</p>]]></content:encoded>
			<wfw:commentRss>http://mabp.kiev.ua/2011/05/24/firebug-vs-webinspector/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>apach 2.2 &amp; php 5.3</title>
		<link>http://mabp.kiev.ua/2011/05/07/apach-2-2-php-5-3/</link>
		<comments>http://mabp.kiev.ua/2011/05/07/apach-2-2-php-5-3/#comments</comments>
		<pubDate>Sat, 07 May 2011 11:01:20 +0000</pubDate>
		<dc:creator>CTAPbIu_MABP</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Разное]]></category>

		<guid isPermaLink="false">http://mabp.kiev.ua/?p=1359</guid>
		<description><![CDATA[Наша песня хороша, начинай сначала. А если учитывать опыт приобретенный во Львове то можно даже сказать: Наша пісня гарна й нова, починаймо її знову.... Я оттягивал этот момент как мог, но вот мне на ноут пришлось устанавливать php. зайдя на пхп.нет в раздел загрузок я скачал самый свежий и начал ставить. Теперь эта ебаная херня [...]]]></description>
			<content:encoded><![CDATA[<p>Наша песня хороша, начинай сначала. А если учитывать опыт приобретенный во Львове то можно даже сказать: Наша пісня гарна й нова, починаймо її знову....</p>
<span id="more-1359"></span>

<p>Я оттягивал этот момент как мог, но вот мне на ноут пришлось устанавливать php. зайдя на пхп.нет в раздел загрузок я скачал самый свежий и начал ставить. Теперь эта ебаная херня не предлагает установиться как модуль апача, ну похуй. поставил как было начал фачить апач.конф искать пхп5апач2-2.длл и тд. не заработало. потом прочитал что для апача надо использовать не вц9 а вц6 версию, что бы это не значило, и все повторилось. Но эта ебаная хуйня снова не заработала, а ведь я еще тредсайф не пробовал ставить... Кароче я взял старый дистрибутив 5.3.1 где он еще предлагал установиться как модуль и все заработало. А мораль сей басни такова что инсталятор пхп всегда был уёбищным и всегда им останется.</p>]]></content:encoded>
			<wfw:commentRss>http://mabp.kiev.ua/2011/05/07/apach-2-2-php-5-3/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Кастомный контрол для гуглокарт</title>
		<link>http://mabp.kiev.ua/2011/05/04/custom-controll-for-google-maps/</link>
		<comments>http://mabp.kiev.ua/2011/05/04/custom-controll-for-google-maps/#comments</comments>
		<pubDate>Wed, 04 May 2011 21:18:09 +0000</pubDate>
		<dc:creator>CTAPbIu_MABP</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Программирование]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[map]]></category>

		<guid isPermaLink="false">http://mabp.kiev.ua/?p=1358</guid>
		<description><![CDATA[вот так легко и просто можно создать еще один вид оверлея для карт function MyControl(map) { this.map = map; this.button = document.createElement('DIV'); this.button.style.margin = "50px"; this.button.style.padding = "20px"; this.button.style.backgroundColor = "#fff"; this.button.style.fontSize = "25px"; this.button.style.cursor = "pointer"; this.button.appendChild(document.createTextNode("THIS IS SPARTAAA!!!")); this.div = document.createElement('DIV'); this.div.appendChild(this.button); var marker = new google.maps.Marker({ position : new google.maps.LatLng(37.074301,22.432584) }); google.maps.event.addDomListener(this.button, [...]]]></description>
			<content:encoded><![CDATA[<p>вот так легко и просто можно создать еще один вид оверлея для карт</p>
<span id="more-1358"></span>

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript" src="/content/js/custom-controll-for-google-maps.js"></script>

<pre><code class="javascript">
function MyControl(map) {
	this.map = map;	
	
	this.button = document.createElement('DIV');
	this.button.style.margin = "50px";
	this.button.style.padding = "20px";
	this.button.style.backgroundColor = "#fff";
	this.button.style.fontSize = "25px";
	this.button.style.cursor = "pointer";
	this.button.appendChild(document.createTextNode("THIS IS SPARTAAA!!!"));
	
	this.div = document.createElement('DIV');
	this.div.appendChild(this.button);

	var marker = new google.maps.Marker({
		position : new google.maps.LatLng(37.074301,22.432584)
	});
	
	google.maps.event.addDomListener(this.button, "click", function(e){
		if (marker.getMap()){
			marker.setMap(null); 
		} else {
			marker.setMap(map);
		}
	}); 
}

MyControl.prototype.getDiv = function() {
	return this.div;
};

MyControl.prototype.remove = function() {
	this.div.removeChild(this.button);
	this.div.parentNode.removeChild(this.div);
};

google.maps.event.addDomListener(window, 'load', function(){

    var map = new google.maps.Map(document.getElementById("map"), {
		zoom: 1,
		center: new google.maps.LatLng(0,0),
		mapTypeId: google.maps.MapTypeId.HYBRID,
    });
	
	var myControl = new MyControl(map);
	map.controls[google.maps.ControlPosition.TOP].push(myControl.getDiv());

});
</code></pre>

<div id="map" style="width:600px;height:400px;"></div>
  
 ]]></content:encoded>
			<wfw:commentRss>http://mabp.kiev.ua/2011/05/04/custom-controll-for-google-maps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

