<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<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/"
	>

<channel>
	<title>ajax &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://wordpress.com/tag/ajax/</link>
	<description>Feed of posts on WordPress.com tagged "ajax"</description>
	<pubDate>Fri, 25 Jul 2008 20:12:59 +0000</pubDate>

	<generator>http://wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[Nuance Shop Website]]></title>
<link>http://seventhfury.wordpress.com/?p=141</link>
<pubDate>Fri, 25 Jul 2008 19:06:42 +0000</pubDate>
<dc:creator>seventhfury</dc:creator>
<guid>http://seventhfury.wordpress.com/?p=141</guid>
<description><![CDATA[Nuance Shop is a leading online software store for Nuance Communications speech recognition, OCR (Op]]></description>
<content:encoded><![CDATA[<p>Nuance Shop is a leading online software store for Nuance Communications speech recognition, OCR (Optical Character Recognition) and imaging software for businesses and consumers around the world. This project entailed a few new technologies in development for Seventhfury Studios including an <a class="bodyLink" href="http://www.nuanceshop.com/">accordian-style navigation system that's just fun to play with</a>. The sleek design of the Nuance Shop site accents the strengths of the products that Nuance has to offer.</p>
<p>Skills involved in this project: Design, Development in CSS/AJAX/PHP</p>
<p style="text-align:center;"><a href="http://www.nuanceshop.com/"><img class="size-full wp-image-142 aligncenter" src="http://seventhfury.wordpress.com/files/2008/07/nuance.jpg" alt="Nuance Shop Website Design by Seventhfury Studios" width="590" height="432" /></a></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[stop using "window.onload" in JavaScript]]></title>
<link>http://ckon.wordpress.com/?p=197</link>
<pubDate>Fri, 25 Jul 2008 18:21:32 +0000</pubDate>
<dc:creator>_ck_</dc:creator>
<guid>http://ckon.wordpress.com/?p=197</guid>
<description><![CDATA[I don&#8217;t write full blown AJAX but I do code some JavaScript from time to time. One big tip I c]]></description>
<content:encoded><![CDATA[<p>I don't write full blown AJAX but I do code some JavaScript from time to time. One big tip I can offer other "casual" javascript coders, since many times a script must be executed after a page is loaded, is to STOP using  <font color="yellow">window.onload=your_function;</font></p>
<p>The reason for this is simple - you should be APPENDING your script to the page loaded hook, not CLOBBERING any existing script that may be attached. The "window.onload" method can only hook one function at a time and these days it's common to use several third party scripts on a site. If you are not careful, you may be left scratching your head why something stopped working - because you accidentally stopped it from loading.</p>
<p>There used to be some clever workarounds for this, like making a function that checked onload and appending it to a list of functions to call and replacing it with your own onload. But with modern browsers today, all that mess is not needed. Just replace your code with this (albeit longer) code:<font color="yellow"><code><br />
if (window.attachEvent) {window.attachEvent('onload', your_function);}<br />
else if (window.addEventListener) {window.addEventListener('load', your_function, false);}<br />
else {document.addEventListener('load', your_function, false);} </code></font></p>
<p>Tested working in all major modern browser (IE, Firefox, Safari, Opera) and it appends instead of replaces the onload process. Hope that helps!</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[C# Kodlama Standartları(Coding Standarts for C#)]]></title>
<link>http://bahadirekici.wordpress.com/?p=34</link>
<pubDate>Fri, 25 Jul 2008 18:13:52 +0000</pubDate>
<dc:creator>bahadirekici</dc:creator>
<guid>http://bahadirekici.wordpress.com/?p=34</guid>
<description><![CDATA[
İsimlendime düzeni ve yazım stillleri
1-Metod isimleri,sabit değişkenler ve tip değişkenleri]]></description>
<content:encoded><![CDATA[<p><!--[if gte mso 9]&#62;  Normal 0   false false false        MicrosoftInternetExplorer4  &#60;![endif]--><!--[if gte mso 9]&#62;   &#60;![endif]--></p>
<p class="MsoNormal"><strong><span lang="TR">İsimlendime düzeni ve yazım stillleri</span></strong></p>
<p class="MsoNormal"><span lang="TR">1-Metod isimleri,sabit değişkenler ve tip değişkenlerinde pascal kalıplarını kullanın:</span></p>
<p class="MsoNormal"><span lang="TR">public class BenimClass</span></p>
<blockquote>
<p class="MsoNormal"><span lang="TR">{</span></p>
<p class="MsoNormal"><span lang="TR"><span> </span>const int <strong>D</strong>efault<strong>S</strong>ize=100;</span></p>
<p class="MsoNormal"><span lang="TR">public void <strong>S</strong>ome<strong>C</strong>lass()</span></p>
<p class="MsoNormal" style="text-indent:35.4pt;"><span lang="TR">{</span></p>
<p class="MsoNormal" style="text-indent:35.4pt;"><span lang="TR">}<span> </span></span></p>
<p class="MsoNormal"><span lang="TR">}</span></p>
</blockquote>
<p class="MsoNormal"><span lang="TR">2-Method değişkenlerinde ve lokal değişkenlerde deve tipi yazım (camel casing) kullanın.</span></p>
<blockquote>
<p class="MsoNormal"><span lang="TR">Void BenimClass(int <strong>s</strong>ome<strong>N</strong>umber)</span></p>
<p class="MsoNormal"><span lang="TR">{</span></p>
<p class="MsoNormal"><span lang="TR"><span> </span>int <strong>n</strong>umber;</span></p>
<p class="MsoNormal"><span lang="TR">}</span></p>
</blockquote>
<p class="MsoNormal"><span lang="TR">3-Arayüz tanımlamarıda “I” ön ekini kullanın.</span></p>
<blockquote>
<p class="MsoNormal"><span lang="TR">interface <strong>I</strong>BenimArayuzum {…}</span></p>
</blockquote>
<p class="MsoNormal"><span lang="TR">4.Bir classa ait özel değişkenlerde(private) “m_” gibi ön ekler ve pascal yazım tipini kullanın.</span></p>
<blockquote>
<p class="MsoNormal"><span lang="TR">public class<span> </span><strong>S</strong>ome<strong>C</strong>lass()</span></p>
<p class="MsoNormal"><span lang="TR">{</span></p>
<p class="MsoNormal"><span lang="TR"><span> </span>Private int <strong><span> </span>m_N</strong>umber</span></p>
<p class="MsoNormal"><span lang="TR">}</span></p>
</blockquote>
<p class="MsoNormal"><span lang="TR">5.Methodlara isim verirken yüklem-nesne ikilemesinde olmasına dikkat edin.Örneğin ShowDialog() -pencereyi göster.</span></p>
<p class="MsoNormal"><span lang="TR">6.Geriye değer döndüren methodlardaki isimlendirmelerde geriye döndürülen değer hakkında bilgi içermesine dikkat edin.Örneğin GetObjectState()-Nesne durumunu getir.(Neyin geleceğini biliyorum)</span></p>
<p class="MsoNormal"><span lang="TR">7.Anlaşılabilir değişken isimleri kullanın.Tek karakterlik değişken isimlerinden kaçının.Kelimeleri kısaltmayın(number yerine num yazmayın)</span></p>
<p class="MsoNormal"><span lang="TR">8.Generik kolleksiyonlar kullanır iken,tipler için baş etiketleri kullanın.</span></p>
<blockquote>
<p class="MsoNormal"><span lang="TR">//Doğru</span></p>
<p class="MsoNormal"><span lang="TR">Public class LinkedList&#60;K,T&#62;</span></p>
<p class="MsoNormal"><span lang="TR">{…}</span></p>
<p class="MsoNormal"><span lang="TR">//Yanlış</span></p>
<p class="MsoNormal"><span lang="TR">Public class LinkedList&#60;KeyType,DataType&#62;</span></p>
<p class="MsoNormal"><span lang="TR">{…}</span></p>
</blockquote>
<p class="MsoNormal"><span lang="TR">9.Namespace’leri(isim alanları) oluştururken anlamlı isimler verin,örneğin ürün veya firma isimleri..</span></p>
<p class="MsoNormal"><span lang="TR">10.Tip tanımlamalarında full isimleri kullanmayın.Örneğin;</span></p>
<p class="MsoNormal"><span lang="TR">System.Collections.ArrayList myarray=new System.Collections.ArrayList;</span></p>
<p class="MsoNormal"><span lang="TR">Bunun yerine using ile bu alan ismini tanımlayın.</span></p>
<p class="MsoNormal"><span lang="TR">11.using kelimesinin namespace’ler içinde kullanmaktan kaçının.</span></p>
<p class="MsoNormal"><span lang="TR">12.Tanımlanan bütün isim alanlarını alt alta gruplayın.</span></p>
<blockquote>
<p class="MsoNormal"><span lang="TR">using System;</span></p>
<p class="MsoNormal"><span lang="TR">using System.Collections.Generic;</span></p>
<p class="MsoNormal"><span lang="TR">using System.Data;</span></p>
<p class="MsoNormal"><span lang="TR">using MyNameSpace;</span></p>
<p class="MsoNormal"><span lang="TR">using MyNameSpace2;</span></p>
</blockquote>
<p class="MsoNormal"><span lang="TR">13.Paragraf başı kullanımını sürdürün.Tab’ları kullanmayın.</span></p>
<p class="MsoNormal"><span lang="TR">14.Class içinde tanımladığınız değişkenleri daima üstte tutun ve method tanımlamaları ile arasında bir boşluk bırakın.</span></p>
<blockquote>
<p class="MsoNormal"><span lang="TR">public class BenimClass</span></p>
<p class="MsoNormal"><span lang="TR">{</span></p>
<p class="MsoNormal"><span lang="TR"><span> </span>int m_Number;</span></p>
<p class="MsoNormal"><span lang="TR"><span> </span>string m_Name;</span></p>
<p class="MsoNormal"><span lang="TR"><span> </span>public void Method1(){}</span></p>
<p class="MsoNormal"><span lang="TR"><span> </span>public void Method2(){}</span></p>
<p class="MsoNormal"><span lang="TR">}</span></p>
</blockquote>
<p class="MsoNormal"><span lang="TR">15. “{“ işaretini daima yeni bir satıra indirin.</span></p>
<p class="MsoNormal"><span lang="TR">16.delegate tanımlamalarında aşağıdaki gibi yöntem izleyin:</span></p>
<p class="MsoNormal"><span lang="TR">delegate void SomeDelegate(string someString);</span></p>
<blockquote>
<p class="MsoNormal"><span lang="TR">void InvokeMethod()</span></p>
<p class="MsoNormal"><span lang="TR">{</span></p>
<p class="MsoNormal"><span lang="TR"><span> </span>SomeDeleagete someDelegate=delete(string name)</span></p>
<p class="MsoNormal"><span lang="TR"><span> </span>{</span></p>
<p class="MsoNormal"><span lang="TR"><span> </span>MessageBox.Show(name);</span></p>
<p class="MsoNormal"><span lang="TR"><span> </span>}</span></p>
<p class="MsoNormal"><span lang="TR">}</span></p>
</blockquote>
<p class="MsoNormal"><span lang="TR">17.Parametresiz delegate tanımlamalarında şu yöntemi izleyin:</span></p>
<blockquote>
<p class="MsoNormal"><span lang="TR">delete void SomeDelegate();</span></p>
<p class="MsoNormal"><span lang="TR">//Doğru</span></p>
<p class="MsoNormal"><span lang="TR">SomeDeleagete<span> </span>someDelegate=delegate()</span></p>
<p class="MsoNormal"><span lang="TR"><span> </span>{</span></p>
<p class="MsoNormal"><span lang="TR"><span> </span>MessageBox.Show(name);</span></p>
<p class="MsoNormal" style="margin-left:106.2pt;text-indent:35.4pt;"><span lang="TR">}</span></p>
<p class="MsoNormal"><span lang="TR">//Yanlış</span></p>
<p class="MsoNormal"><span lang="TR">SomeDeleagete<span> </span>someDelegate=delegate</span></p>
<p class="MsoNormal"><span lang="TR"><span> </span>{</span></p>
<p class="MsoNormal"><span lang="TR"><span> </span>MessageBox.Show(name);</span></p>
<p class="MsoNormal" style="margin-left:106.2pt;text-indent:35.4pt;"><span lang="TR">}</span></p>
</blockquote>
<p>Bu yazı IDesign tarafından yayınlanmıştır.Çevirisini ben yaptım:) Lütfen kötü olan yerleri bildirin:)</p>
<p>Not:Devamı gelecektir.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[IE6 Causes Z-Index Nightmares...]]></title>
<link>http://tiredblogger.wordpress.com/2008/07/25/ie6-causes-z-index-nightmares/</link>
<pubDate>Fri, 25 Jul 2008 17:48:00 +0000</pubDate>
<dc:creator>David</dc:creator>
<guid>http://tiredblogger.wordpress.com/2008/07/25/ie6-causes-z-index-nightmares/</guid>
<description><![CDATA[Rather than update the post from yesterday, this chaos deserves it&rsquo;s own post.
Yesterday, I di]]></description>
<content:encoded><![CDATA[<p>Rather than update the post from yesterday, this chaos deserves it&#8217;s own post.</p>
<p>Yesterday, I discussed layering Modal Popup Extenders with the Update Progress controls.&#160; In IE7, FF3, and, well, most everything except IE6, it works like a champ as-is.</p>
<p>The &#8220;bug&#8221;?&#160; After quite a bit of research, the problem revolves around the following issues:</p>
<ul>
<li>lack of support for the { position: fixed } property,</li>
<li>lack of support for the&#160;{ right; bottom} properties,</li>
<li>&#8230; unreliable suport for {height: 100%, width: 100%&#160;} properties,</li>
<li>general pain and suffering</li>
<li>&#60;SELECT&#62; tags (or ASP:DropDownList objects) exist above any other z-index,</li>
</ul>
<p>I&#8217;m sure there were other issues.&#160; Really.</p>
<p>After spending a good part of the day trying code, looking it up on <a href="http://www.quirksmode.org/" target="_blank">QuirksMode</a>, and trying again, I have <em>somewhat</em> of a solution; however, I still greatly dislike how it works in IE6.</p>
<p>On the MasterPage, I have a single UpdateProgress that isn&#8217;t associated to a specific UpdatePanel.&#160; Therefore, it&#8217;ll catch all Async postbacks (and I only have ONE UpdateProgress control).</p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;color:blue;font-family:Consolas;">&#60;</span><span style="font-size:10pt;color:#a31515;font-family:Consolas;">asp</span><span style="font-size:10pt;color:blue;font-family:Consolas;">:</span><span style="font-size:10pt;color:#a31515;font-family:Consolas;">UpdateProgress</span><span style="font-size:10pt;font-family:Consolas;"> </span></p>
<p class="MsoNormal" style="text-indent:0.5in;line-height:normal;margin:0;"><span style="font-size:10pt;color:red;font-family:Consolas;">runat</span><span style="font-size:10pt;color:blue;font-family:Consolas;">="server"</span><span style="font-size:10pt;font-family:Consolas;"> <span style="color:red;">DisplayAfter</span><span style="color:blue;">="100"</span> <span style="color:red;">ID</span><span style="color:blue;">="UpdateProgress"&#62;</span></span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;color:blue;font-family:Consolas;">&#60;</span><span style="font-size:10pt;color:#a31515;font-family:Consolas;">ProgressTemplate</span><span style="font-size:10pt;color:blue;font-family:Consolas;">&#62;</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;color:blue;font-family:Consolas;">&#60;</span><span style="font-size:10pt;color:#a31515;font-family:Consolas;">div</span><span style="font-size:10pt;font-family:Consolas;"> <span style="color:red;">class</span><span style="color:blue;">="UpdateProgressModalBackground"&#62;&#60;/</span><span style="color:#a31515;">div</span><span style="color:blue;">&#62;</span></span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;color:blue;font-family:Consolas;">&#60;</span><span style="font-size:10pt;color:#a31515;font-family:Consolas;">div</span><span style="font-size:10pt;font-family:Consolas;"> <span style="color:red;">class</span><span style="color:blue;">="UpdateProgressPanel"&#62;</span></span></p>
<p class="MsoNormal" style="text-indent:0.5in;line-height:normal;margin:0;"><span style="font-size:10pt;color:blue;font-family:Consolas;">&#60;</span><span style="font-size:10pt;color:#a31515;font-family:Consolas;">h3</span><span style="font-size:10pt;color:blue;font-family:Consolas;">&#62;</span><span style="font-size:10pt;font-family:Consolas;">Please wait...<span style="color:blue;">&#60;/</span><span style="color:#a31515;">h3</span><span style="color:blue;">&#62;</span></span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0 0.5in;"><span style="font-size:10pt;color:blue;font-family:Consolas;">&#60;</span><span style="font-size:10pt;color:#a31515;font-family:Consolas;">img</span><span style="font-size:10pt;font-family:Consolas;"> <span style="color:red;">src</span><span style="color:blue;">="Images/ajaxbar.gif"</span><br /><span style="color:red;">alt</span><span style="color:blue;">="Please wait..."</span> </span></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0 0.5in;"><span style="font-size:10pt;color:red;font-family:Consolas;">style</span><span style="font-size:10pt;color:blue;font-family:Consolas;">="</span><span style="font-size:10pt;color:red;font-family:consolas;">text-align</span><span style="font-size:10pt;font-family:consolas;">: <span style="color:blue;">center</span>; <span style="color:red;">width</span>: <span style="color:blue;">100%</span>; <span style="color:red;">height</span>: <span style="color:blue;">10px</span>;<span style="color:blue;">"</span> <span style="color:blue;">/&#62;</span></span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;color:blue;font-family:Consolas;">&#60;/</span><span style="font-size:10pt;color:#a31515;font-family:Consolas;">div</span><span style="font-size:10pt;color:blue;font-family:Consolas;">&#62;</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;color:blue;font-family:Consolas;">&#60;/</span><span style="font-size:10pt;color:#a31515;font-family:Consolas;">ProgressTemplate</span><span style="font-size:10pt;color:blue;font-family:Consolas;">&#62;</span></p>
<p class="MsoNormal" style="margin:0 0 10pt;"><span style="font-size:10pt;color:blue;line-height:115%;font-family:Consolas;">&#60;/</span><span style="font-size:10pt;color:#a31515;line-height:115%;font-family:Consolas;">asp</span><span style="font-size:10pt;color:blue;line-height:115%;font-family:Consolas;">:</span><span style="font-size:10pt;color:#a31515;line-height:115%;font-family:Consolas;">UpdateProgress</span><span style="font-size:10pt;color:blue;line-height:115%;font-family:Consolas;">&#62;</span></p>
<p>This, again, references our UpdateProgressModalBackground and UpdateProgressPanel styles.&#160; These two styles are unchanged from the post yesterday.&#160; Here they&#160;are again for reference:</p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;color:green;font-family:Consolas;">/* UpdateProgressPanel is above EVERYTHING ELSE, </span></p>
<p class="MsoNormal" style="text-indent:0.5in;line-height:normal;margin:0;"><span style="font-size:10pt;color:green;font-family:Consolas;">even other modal popups */</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;color:#a31515;font-family:Consolas;">.UpdateProgressPanel</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;">{</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span><span style="color:red;">z-index</span>: <span style="color:blue;">99999999</span>;</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span><span style="color:red;">background-color</span>:<span style="color:blue;">#fff</span>;</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span><span style="color:red;">color</span>:<span style="color:blue;">#fff</span>;</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span><span style="color:red;">width</span>: <span style="color:blue;">200px</span>;</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span><span style="color:red;">text-align</span>: <span style="color:blue;">center</span>;</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span><span style="color:red;">vertical-align</span>: <span style="color:blue;">middle</span>;</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span><span style="color:red;">position</span>: <span style="color:blue;">fixed</span>;</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span><span style="color:red;">bottom</span>: <span style="color:blue;">50%</span>;</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span><span style="color:red;">left</span>: <span style="color:blue;">45%</span>;</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span><span style="color:red;">padding</span>: <span style="color:blue;">10px</span>;</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span><span style="color:red;">border</span>: <span style="color:blue;">solid</span> <span style="color:blue;">2px</span> <span style="color:blue;">#5D7B9D</span>;</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;">}</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;">&#160;</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;color:#a31515;font-family:Consolas;">.UpdateProgressModalBackground</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;">{</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>&#160;&#160;&#160; </span><span style="color:red;">z-index</span>: <span style="color:blue;">99999998</span>;</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>&#160;&#160;&#160; </span><span style="color:red;">background-color</span>: <span style="color:blue;">#6D7B8D</span>;<span style="color:green;"></span></span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>&#160;&#160;&#160; </span><span style="color:red;">position</span>: <span style="color:blue;">fixed</span>;</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>&#160;&#160;&#160; </span><span style="color:red;">top</span>: <span style="color:blue;">0</span>;</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>&#160;&#160;&#160; </span><span style="color:red;">left</span>: <span style="color:blue;">0</span>;</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>&#160;&#160;&#160; </span><span style="color:red;">height</span>: <span style="color:blue;">100%</span>;</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>&#160;&#160;&#160; </span><span style="color:red;">width</span>: <span style="color:blue;">100%</span>;</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>&#160;&#160;&#160; </span><span style="color:red;">min-height</span>: <span style="color:blue;">100%</span>;</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>&#160;&#160;&#160; </span><span style="color:red;">min-width</span>: <span style="color:blue;">100%</span>;</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>&#160;&#160;&#160; </span><span style="color:red;">filter</span>: <span style="color:blue;">alpha(opacity=50)</span>;</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>&#160;&#160;&#160; </span><span style="color:red;">opacity</span>: <span style="color:blue;">0.5</span>;</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>&#160;&#160;&#160; </span><span style="color:red;">-moz-opacity</span>: <span style="color:blue;">0.5</span>;</span></p>
<p class="MsoNormal" style="margin:0 0 10pt;"><span style="font-size:10pt;line-height:115%;font-family:Consolas;">}</span></p>
<p>The UpdateProgress and these two classes <strong>work just fine in IE7+, FF2+.</strong>&#160; So, now to fix IE6..</p>
<p>So, what&#8217;s the difference in IE6?&#160; Well,&#160;we can&#8217;t use the positioning attributes in the above classes&#8211;-they won&#8217;t work properly.&#160; </p>
<p><strong>Issue #1 &#8211; Fitting the Popup and Background Without Positioning Attributes</strong></p>
<p>Searching the web, I <a href="http://blogs.visoftinc.com/archive/2008/03/13/Modal-UpdateProgress-for-UpdatePanel-Revisited.aspx" target="_blank">found an article</a> by Damien White discussing his his same pains with this.&#160; His solution involved using the IE-specific CSS &#8220;expressions&#8221; to calculate the height and width of the window.</p>
<blockquote>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;color:red;font-family:'Courier New';">height</span><span style="font-size:10pt;font-family:'Courier New';">: </span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;color:blue;font-family:'Courier New';">expression(</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;color:blue;font-family:'Courier New';"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>document.documentElement.scrollTop + </span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;color:blue;font-family:'Courier New';"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>document.documentElement.clientHeight + "px")</span><span style="font-size:10pt;font-family:'Courier New';">;</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;color:red;font-family:'Courier New';">&#160;</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;color:red;font-family:'Courier New';">width</span><span style="font-size:10pt;font-family:'Courier New';">: <span style="color:blue;">expression(document.body.clientWidth + "px")</span>;</span></p>
</blockquote>
<p>However, at least for me, Damien&#8217;s expressions wouldn&#8217;t handle scrolling down the page.</p>
<p>Damien explains: </p>
<blockquote>
<p>The thinking behind this was to take the window height (which <strong>document.documentElement.clientHeight</strong> gives us) and then add the scroll top position, which will give us the upper portion if the user scrolls up.&#160; The problem shows itself when the user scrolls down; that area is not covered.&#160; The good thing about this is that I didn't need to mess with the body height, but the solution isn't optimal in the long haul.</p>
</blockquote>
<p>That&#8217;s a bad deal because that&#8217;s the whole point!&#160; Reading a bit more, there was a comment from <em>Kunal Mukherjee</em> on Damien&#8217;s post that solved the problem.</p>
<p>Kunal&#8217;s expressions looked at the scrollHeight of the window as compared to the offsetHeight and returned the larger.</p>
<blockquote>
<p class="MsoNormal" style="margin:0 0 10pt;"><span style="font-size:10pt;color:red;line-height:115%;font-family:Consolas;">height</span><span style="font-size:10pt;line-height:115%;font-family:Consolas;">: <span style="color:blue;">expression(</span></span></p>
<p class="MsoNormal" style="margin:0 0 10pt 0.5in;"><span style="font-size:10pt;color:blue;line-height:115%;font-family:Consolas;">document.body.scrollHeight &#62; document.body.offsetHeight <br />? document.body.scrollHeight <br />: document.body.offsetHeight + 'px' )</span><span style="font-size:10pt;line-height:115%;font-family:Consolas;">;<span style="color:blue;"></span></span></p>
</blockquote>
<p>Actually, that works really well. Cool.</p>
<p>Finally, I&#8217;d recommend, as Damien did, breaking out your CSS into two files&#8212;one for &#8220;IE6&#8221; and one for everyone else.&#160; This is easily done using the IE-specific conditional statements.</p>
<p class="MsoNormal" style="margin:0 0 10pt;"><span style="font-size:10pt;color:green;line-height:115%;font-family:Consolas;">&#60;!--[if lt IE 7]&#62;<br />&#60;link rel="stylesheet" type="text/css" href="App_Themes/ie6/ie6.css" /&#62;<br />&#60;![endif]--&#62;</span></p>
<p>I also included !important flags on each of the properties in the ie6.css file&#8212;just to be safe.</p>
<p><strong>Issue #2 &#8211; IE6 Pushes &#60;SELECT&#62; tags above everything else&#8230;</strong></p>
<p>This is where the solution gets dicey; however, I&#8217;m relying on Kunal&#8217;s solution again.&#160; In his comment, he pointed out a way to hide &#60;SELECT&#62; tags in IE6 without causing the <a href="http://forums.asp.net/t/1015368.aspx" target="_blank">disappearing act</a> that the ModalPopupExtender causes&#8212;cover them with an IFRAME.</p>
<p>To me, this hack seems&#8230; sketchy at best, but it works.</p>
<p>In the ProgressTemplate of the UpdateProgress control, add in the IFRAME.</p>
<p class="MsoNormal" style="margin:0 0 10pt;"><span style="font-size:10pt;color:blue;line-height:115%;font-family:Consolas;">&#60;</span><span style="font-size:10pt;color:#a31515;line-height:115%;font-family:Consolas;">iframe</span><span style="font-size:10pt;line-height:115%;font-family:Consolas;"> <span style="color:red;">id</span><span style="color:blue;">="UpdateProgressHideSelect"&#62;&#60;/</span><span style="color:#a31515;">iframe</span><span style="color:blue;">&#62;</span></span></p>
<p>In the default.css (or the non-ie6.css, whatever you&#8217;ve called it), I recommend setting the iframe&#8217;s style to {display: none}&#8212;it isn&#8217;t needed outside IE6, don&#8217;t render it. :)</p>
<p>On the ie6.css, add the UpdateProgressHideSelect in&#8212;along with another expression to place the iframe over the entire page (like the standard BackgroundCssClass of a ModalPopupExtender):</p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;color:#a31515;font-family:Consolas;">#UpdateProgressHideSelect</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;">{</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>&#160;&#160;&#160; </span><span style="color:red;">z-index</span>: <font color="#0000ff">15000</font>;</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>&#160;&#160;&#160; </span><span style="color:red;">position</span>: <span style="color:blue;">fixed</span>;</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>&#160;&#160;&#160; </span><span style="color:red;">top</span>: <span style="color:blue;">0</span>;</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>&#160;&#160;&#160; </span><span style="color:red;">left</span>: <span style="color:blue;">0</span>;</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>&#160;&#160;&#160; </span><span style="color:red;">background-color</span>: <span style="color:blue;">#fff</span>;</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>&#160;&#160;&#160; </span><span style="color:red;">border</span>: <span style="color:blue;">none</span>;</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>&#160;&#160;&#160; </span><span style="color:red;">filter</span>: <span style="color:blue;">alpha(opacity=0)</span>;</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>&#160;&#160;&#160; </span><span style="color:red;">-moz-opacity</span>: <span style="color:blue;">0</span>;</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>&#160;&#160;&#160; </span><span style="color:red;">opacity</span>: <span style="color:blue;">0</span>;</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>&#160;&#160;&#160; </span><span style="color:red;">height</span>: <span style="color:blue;">100%</span>;</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>&#160;&#160;&#160; </span><span style="color:red;">width</span>: <span style="color:blue;">100%</span>;</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>&#160;&#160;&#160; </span><span style="color:red;">display</span>: <span style="color:blue;">inline</span> <span style="color:blue;">!important</span>;</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;">}</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;">&#160;</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;color:#a31515;font-family:Consolas;">*</span><span style="font-size:10pt;font-family:Consolas;"> <span style="color:#a31515;">html</span> <span style="color:#a31515;">#UpdateProgressHideSelect</span></span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;">{</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>&#160;&#160;&#160; </span><span style="color:red;">position</span>: <span style="color:blue;">absolute</span>;</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:10pt;font-family:Consolas;"><span>&#160;&#160;&#160; </span><span style="color:red;">height</span>: <span style="color:blue;">expression(</span></span></p>
<p class="MsoNormal" style="text-indent:0.5in;line-height:normal;margin:0;"><span style="font-size:10pt;color:blue;font-family:Consolas;">document.body.scrollHeight &#62; document.body.offsetHeight </span></p>
<p class="MsoNormal" style="text-indent:0.5in;line-height:normal;margin:0;"><span style="font-size:10pt;color:blue;font-family:Consolas;">? document.body.scrollHeight </span></p>
<p class="MsoNormal" style="text-indent:0.5in;line-height:normal;margin:0;"><span style="font-size:10pt;color:blue;font-family:Consolas;">: document.body.offsetHeight + 'px')</span><span style="font-size:10pt;font-family:Consolas;">;</span></p>
<p class="MsoNormal" style="margin:0 0 10pt;"><span style="font-size:10pt;line-height:115%;font-family:Consolas;">}</span></p>
<p>The z-index of 15000 for the iframe ensures that it appears above the normal 10000 of a ModalPopupExtender panel; however, under our crazy high UpdateProgress control.</p>
<p>Problem solved&#8212;for now.</p>
<p>Here&#8217;s how they look, side by side.</p>
<p><strong>FireFox 3:</strong></p>
<p><img alt="FireFox 3 Output" hspace="5" src="http://photos.tiredstudent.com/WebStorageHandler.ashx?tb=false&#38;id=385" vspace="5" border="2" /></p>
<p>Nice and clean, properly centered given the size of the box and window size.&#160; Can see drop down lists and MPE behind the UpdateProgress, but cannot access them.</p>
<p><strong>IE 7:</strong></p>
<p><img alt="IE7 Output" hspace="5" src="http://photos.tiredstudent.com/WebStorageHandler.ashx?tb=false&#38;id=383" vspace="5" border="2" /></p>
<p>Output as expected and where expected.&#160; Can see drop down lists and MPE behind the UpdateProgress, but cannot access them.</p>
<p><strong>IE 6:</strong></p>
<p><img alt="IE6 Output" hspace="5" src="http://photos.tiredstudent.com/WebStorageHandler.ashx?tb=false&#38;id=387" vspace="5" border="2" /></p>
<p>Output as expected&#8212;basically where expected.&#160; Drop down lists are hidden behind the IFRAME to prevent input.&#160; Other controls are visible, including the MPE, but behind the background.</p>
<p><strong><em>What fun!</em></strong></p>
<div class="bjtags">Tags: <a rel="tag" href="http://technorati.com/tag/UpdateProgress">UpdateProgress</a>, <a rel="tag" href="http://technorati.com/tag/ModalPopupExtender">ModalPopupExtender</a>, <a rel="tag" href="http://technorati.com/tag/IE6">IE6</a>, <a rel="tag" href="http://technorati.com/tag/IE7">IE7</a>, <a rel="tag" href="http://technorati.com/tag/css">css</a></div>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Ajax Amsterdam adidas 2008-09 Away Kit / Jersey / Shirt]]></title>
<link>http://footballfashion.wordpress.com/?p=677</link>
<pubDate>Fri, 25 Jul 2008 15:28:03 +0000</pubDate>
<dc:creator>Footballer</dc:creator>
<guid>http://footballfashion.wordpress.com/?p=677</guid>
<description><![CDATA[adidas and Ajax presented the new Ajax away kit today. The cool, two-toned blue shirt with white acc]]></description>
<content:encoded><![CDATA[<p>adidas and Ajax presented the new Ajax away kit today. The cool, two-toned blue shirt with white accents also has the Ajax logo 'on the heart'.  New head sponsor AEGON is horizontally across the chest. The new Ajax away kit will first be woorn in the LG Amsterdam Tournament match against Arsenal FC, on Friday 8 August in the Amsterdam Arena. It appears to be based on<a href="http://footballfashion.wordpress.com/2008/07/02/2008-09-adidas-toque-template/"> adidas Toque template</a>.</p>
<p><a href="http://footballfashion.wordpress.com/2008/07/01/ajax-amsterdam-2008-09-adidas-home-kit-jersey-shirt/">Here's the Football Fashion presentation of the Ajax Amsterdam adidas 2008-09 home kit. </a></p>
<p style="text-align:center;"><a href="http://footballfashion.files.wordpress.com/2008/07/wp_ajax2_1680x1050.jpg" target="_blank"><img class="aligncenter size-medium wp-image-682" src="http://footballfashion.wordpress.com/files/2008/07/wp_ajax2_1680x1050.jpg?w=300" alt="" width="300" height="187" /></a></p>
<p><img class="aligncenter" src="http://www.ajax-nl.vesproshop.nl/domains/vespro_ajax_nl/content/productimages/large/448219.jpg" alt="" width="560" height="560" /><br />
<img class="aligncenter" src="http://www.ajax-nl.vesproshop.nl/domains/vespro_ajax_nl/content/productimages/large/448260.jpg" alt="" width="560" height="560" /></p>
<p><a href="http://scripts.affiliatefuture.com/AFClick.asp?affiliateID=132648&#38;merchantID=972&#38;programmeID=3041&#38;mediaID=0&#38;tracking=&#38;url=" target="_blank"><img class="aligncenter" src="http://www.kitbag.com/stores/kitbag_4_5/_artwork/english/departments/sale/tlm/tlm-b.jpg"></a></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Modal Popup Dialog Window in ASP.NET]]></title>
<link>http://ramanisandeep.wordpress.com/?p=37</link>
<pubDate>Fri, 25 Jul 2008 13:45:39 +0000</pubDate>
<dc:creator>ramanisandeep</dc:creator>
<guid>http://ramanisandeep.wordpress.com/?p=37</guid>
<description><![CDATA[This sample creates parent and child webforms. The child webform is called modally by the parent pas]]></description>
<content:encoded><![CDATA[<p><span style="font-family:Verdana, Arial, Helvetica, sans-serif;">This sample creates parent and child webforms. The child webform is called modally by the parent passing multiple values to the child form. The child form displays the passed values allowing them to be edited and then returns the altered values back to the parent when finished. The child form is modal to only the parent form. To make the child modal to the entire desktop, see the below final note.<br />
Scope: ASP, ASP.NET, C#, Csharp, VB.NET, Visual Basic, Java</span></p>
<p><span style="font-family:Verdana, Arial, Helvetica, sans-serif;">1. Open a New Web project in Visual Studio<br />
2. </span><span style="font-family:Verdana, Arial, Helvetica, sans-serif;">Create two New WebForm pages named ParentWebForm and ChildWebForm<br />
3. </span><span style="font-family:Verdana, Arial, Helvetica, sans-serif;">Open the HTML surface for the ParentWebForm<br />
4. </span><span style="font-family:Verdana, Arial, Helvetica, sans-serif;">Locate the yellow line<br />
5. </span><span style="font-family:Verdana, Arial, Helvetica, sans-serif;">Delete all code EXCEPT the yellow line<br />
6. </span><span style="font-family:Verdana, Arial, Helvetica, sans-serif;">Insert the following HTML below the existing yellow line</span></p>
<p> <span style="font-family:Verdana, Arial, Helvetica, sans-serif;"><span style="font-size:x-small;color:#0000ff;"><span style="font-size:x-small;color:#0000ff;">&#60;!</span></span><span style="font-size:x-small;color:#800000;">DOCTYPE</span><span style="font-size:x-small;color:#ff00ff;"> </span><span style="font-size:x-small;color:#ff0000;">HTML</span><span style="font-size:x-small;color:#ff00ff;"> </span><span style="font-size:x-small;color:#ff0000;">PUBLIC</span><span style="font-size:x-small;color:#ff00ff;"> </span><span style="font-size:x-small;color:#0000ff;">"-//W3C//DTD HTML 4.0 Transitional//EN"&#62;<br />
&#60;</span><span style="font-size:x-small;color:#800000;">HTML</span><span style="font-size:x-small;color:#0000ff;">&#62;<br />
</span><span style="font-size:x-small;color:#0000ff;">&#60;</span><span style="font-size:x-small;color:#800000;">HEAD</span><span style="font-size:x-small;color:#0000ff;">&#62;<br />
</span><span style="font-size:x-small;color:#0000ff;">&#60;</span><span style="font-size:x-small;color:#800000;">title</span><span style="font-size:x-small;color:#0000ff;">&#62;</span><span style="font-size:x-small;">Parent Webform</span><span style="font-size:x-small;color:#0000ff;">&#60;/</span><span style="font-size:x-small;color:#800000;">title</span><span style="font-size:x-small;color:#0000ff;">&#62;<br />
</span><span style="font-size:x-small;color:#0000ff;">&#60;</span><span style="font-size:x-small;color:#800000;">script</span><span style="font-size:x-small;color:#ff00ff;"> </span><span style="font-size:x-small;color:#ff0000;">language</span><span style="font-size:x-small;color:#0000ff;">="javascript"&#62;<br />
function</span><span style="font-size:x-small;"> OpenChild()<br />
{<br />
</span><span style="font-size:x-small;color:#0000ff;">var</span><span style="font-size:x-small;"> ParmA = retvalA.value;<br />
</span><span style="font-size:x-small;color:#0000ff;">var</span><span style="font-size:x-small;"> ParmB = retvalB.value;<br />
</span><span style="font-size:x-small;color:#0000ff;">var</span><span style="font-size:x-small;"> ParmC = retvalC.value;<br />
</span><span style="font-size:x-small;color:#0000ff;">var</span><span style="font-size:x-small;"> MyArgs = </span><span style="font-size:x-small;color:#0000ff;">new</span><span style="font-size:x-small;"> Array(ParmA, ParmB, ParmC);<br />
</span><span style="font-size:x-small;color:#0000ff;">var</span><span style="font-size:x-small;"> WinSettings = "center:yes;resizable:no;dialogHeight:300px"<br />
</span><span style="font-size:x-small;color:#008000;">// ALTER BELOW LINE - supply correct URL for Child Form<br />
</span><span style="font-size:x-small;color:#0000ff;">var</span><span style="font-size:x-small;"> MyArgs = window.showModalDialog("http://localhost/ModalWin/ChildWebForm.aspx", MyArgs, WinSettings);<br />
</span><span style="font-size:x-small;color:#0000ff;">if</span><span style="font-size:x-small;"> (MyArgs == </span><span style="font-size:x-small;color:#0000ff;">null</span><span style="font-size:x-small;">)<br />
{<br />
window.alert("Nothing returned from child. No changes made to input boxes");<br />
}<br />
</span><span style="font-size:x-small;color:#0000ff;">else<br />
</span><span style="font-size:x-small;">{<br />
retvalA.value=MyArgs[0].toString();<br />
retvalB.value=MyArgs[1].toString();<br />
retvalC.value=MyArgs[2].toString();<br />
}<br />
}<br />
</span><span style="font-size:x-small;color:#0000ff;">&#60;/</span><span style="font-size:x-small;color:#800000;">script</span><span style="font-size:x-small;color:#0000ff;">&#62;<br />
</span><span style="font-size:x-small;color:#0000ff;">&#60;/</span><span style="font-size:x-small;color:#800000;">HEAD</span><span style="font-size:x-small;color:#0000ff;">&#62;<br />
</span><span style="font-size:x-small;color:#0000ff;">&#60;</span><span style="font-size:x-small;color:#800000;">body</span><span style="font-size:x-small;color:#0000ff;">&#62;<br />
</span><span style="font-size:x-small;color:#0000ff;">&#60;</span><span style="font-size:x-small;color:#800000;">P</span><span style="font-size:x-small;color:#0000ff;">&#62;&#60;</span><span style="font-size:x-small;color:#800000;">INPUT</span><span style="font-size:x-small;color:#ff00ff;"> </span><span style="font-size:x-small;color:#ff0000;">id</span><span style="font-size:x-small;color:#0000ff;">="retvalA"</span><span style="font-size:x-small;color:#ff00ff;"> </span><span style="font-size:x-small;color:#ff0000;">type</span><span style="font-size:x-small;color:#0000ff;">="text"</span><span style="font-size:x-small;color:#ff00ff;"> </span><span style="font-size:x-small;color:#ff0000;">value</span><span style="font-size:x-small;color:#0000ff;">="AAA"&#62;&#60;/</span><span style="font-size:x-small;color:#800000;">P</span><span style="font-size:x-small;color:#0000ff;">&#62;<br />
</span><span style="font-size:x-small;color:#0000ff;">&#60;</span><span style="font-size:x-small;color:#800000;">P</span><span style="font-size:x-small;color:#0000ff;">&#62;&#60;</span><span style="font-size:x-small;color:#800000;">INPUT</span><span style="font-size:x-small;color:#ff00ff;"> </span><span style="font-size:x-small;color:#ff0000;">id</span><span style="font-size:x-small;color:#0000ff;">="retvalB"</span><span style="font-size:x-small;color:#ff00ff;"> </span><span style="font-size:x-small;color:#ff0000;">type</span><span style="font-size:x-small;color:#0000ff;">="text"</span><span style="font-size:x-small;color:#ff00ff;"> </span><span style="font-size:x-small;color:#ff0000;">value</span><span style="font-size:x-small;color:#0000ff;">="BBB"&#62;&#60;/</span><span style="font-size:x-small;color:#800000;">P</span><span style="font-size:x-small;color:#0000ff;">&#62;<br />
</span><span style="font-size:x-small;color:#0000ff;">&#60;</span><span style="font-size:x-small;color:#800000;">P</span><span style="font-size:x-small;color:#0000ff;">&#62;&#60;</span><span style="font-size:x-small;color:#800000;">INPUT</span><span style="font-size:x-small;color:#ff00ff;"> </span><span style="font-size:x-small;color:#ff0000;">id</span><span style="font-size:x-small;color:#0000ff;">="retvalC"</span><span style="font-size:x-small;color:#ff00ff;"> </span><span style="font-size:x-small;color:#ff0000;">type</span><span style="font-size:x-small;color:#0000ff;">="text"</span><span style="font-size:x-small;color:#ff00ff;"> </span><span style="font-size:x-small;color:#ff0000;">value</span><span style="font-size:x-small;color:#0000ff;">="CCC"&#62;&#60;/</span><span style="font-size:x-small;color:#800000;">P</span><span style="font-size:x-small;color:#0000ff;">&#62;<br />
</span><span style="font-size:x-small;color:#0000ff;">&#60;</span><span style="font-size:x-small;color:#800000;">P</span><span style="font-size:x-small;color:#0000ff;">&#62;&#60;</span><span style="font-size:x-small;color:#800000;">BUTTON</span><span style="font-size:x-small;color:#ff00ff;"> </span><span style="font-size:x-small;color:#ff0000;">onclick</span><span style="font-size:x-small;color:#0000ff;">="OpenChild()"</span><span style="font-size:x-small;color:#ff00ff;"> </span><span style="font-size:x-small;color:#ff0000;">type</span><span style="font-size:x-small;color:#0000ff;">="button"&#62;</span><span style="font-size:x-small;">Open Child Window</span><span style="font-size:x-small;color:#0000ff;">&#60;/</span><span style="font-size:x-small;color:#800000;">BUTTON</span><span style="font-size:x-small;color:#0000ff;">&#62;</span><span style="font-size:x-small;color:#0000ff;">&#60;/</span><span style="font-size:x-small;color:#800000;">P</span><span style="font-size:x-small;color:#0000ff;">&#62;<br />
</span><span style="font-size:x-small;color:#0000ff;">&#60;/</span><span style="font-size:x-small;color:#800000;">body</span><span style="font-size:x-small;color:#0000ff;">&#62;<br />
&#60;/</span><span style="font-size:x-small;color:#800000;">HTML</span><span style="font-size:x-small;color:#0000ff;">&#62;</span><font face="Verdana, Arial, Helvetica, sans-serif"> </p>
<p></font></span></p>
<p><span style="font-family:Verdana, Arial, Helvetica, sans-serif;">7. In the above code, locate the line saying //ALTER BELOW LINE<br />
8. Supply the correct URL for your Child Webform<br />
</span><span style="font-family:Verdana, Arial, Helvetica, sans-serif;">9. Open the HTML surface for the ChildWebForm<br />
10. Locate the yellow line<br />
11. Delete all code EXCEPT the yellow line<br />
12. Insert the following HTML below the existing yellow line</span><span style="font-family:Verdana, Arial, Helvetica, sans-serif;"><span style="font-size:x-small;color:#0000ff;"><font face="Verdana, Arial, Helvetica, sans-serif"><font size="2" color="#0000ff"><span style="font-size:x-small;color:#0000ff;">&#60;!</span></p>
<p><span style="font-family:Verdana, Arial, Helvetica, sans-serif;">1</span></p>
<p></font><span style="font-size:x-small;color:#800000;">DOCTYPE</span><span style="font-size:x-small;color:#ff00ff;"> </span><span style="font-size:x-small;color:#ff0000;">HTML</span><span style="font-size:x-small;color:#ff00ff;"> </span><span style="font-size:x-small;color:#ff0000;">PUBLIC</span><span style="font-size:x-small;color:#ff00ff;"> </span><span style="font-size:x-small;color:#0000ff;">"-//W3C//DTD HTML 4.0 Transitional//EN"&#62;<br />
&#60;</span><span style="font-size:x-small;color:#800000;">HTML</span><span style="font-size:x-small;color:#0000ff;">&#62;<br />
</span><span style="font-size:x-small;color:#0000ff;">&#60;</span><span style="font-size:x-small;color:#800000;">HEAD</span><span style="font-size:x-small;color:#0000ff;">&#62;<br />
</span><span style="font-size:x-small;color:#0000ff;">&#60;</span><span style="font-size:x-small;color:#800000;">TITLE</span><span style="font-size:x-small;color:#0000ff;">&#62;</span><span style="font-size:x-small;">Child Webform</span><span style="font-size:x-small;color:#0000ff;">&#60;/</span><span style="font-size:x-small;color:#800000;">TITLE</span><span style="font-size:x-small;color:#0000ff;">&#62;<br />
</span><span style="font-size:x-small;color:#0000ff;">&#60;</span><span style="font-size:x-small;color:#800000;">script</span><span style="font-size:x-small;color:#ff00ff;"> </span><span style="font-size:x-small;color:#ff0000;">language</span><span style="font-size:x-small;color:#0000ff;">="javascript"&#62;<br />
function</span><span style="font-size:x-small;"> Done() {<br />
</span><span style="font-size:x-small;color:#0000ff;">var</span><span style="font-size:x-small;"> ParmA = tbParamA.value;<br />
</span><span style="font-size:x-small;color:#0000ff;">var</span><span style="font-size:x-small;"> ParmB = tbParamB.value;<br />
</span><span style="font-size:x-small;color:#0000ff;">var</span><span style="font-size:x-small;"> ParmC = tbParamC.value;<br />
</span><span style="font-size:x-small;color:#0000ff;">var</span><span style="font-size:x-small;"> MyArgs = </span><span style="font-size:x-small;color:#0000ff;">new</span><span style="font-size:x-small;"> Array(ParmA, ParmB, ParmC);<br />
window.returnValue = MyArgs;<br />
window.close();<br />
}<br />
</span><span style="font-size:x-small;color:#0000ff;">function</span><span style="font-size:x-small;"> doInit() {<br />
</span><span style="font-size:x-small;color:#0000ff;">var</span><span style="font-size:x-small;"> ParmA = "Aparm";<br />
</span><span style="font-size:x-small;color:#0000ff;">var</span><span style="font-size:x-small;"> ParmB = "Bparm";<br />
</span><span style="font-size:x-small;color:#0000ff;">var</span><span style="font-size:x-small;"> ParmC = "Cparm";<br />
</span><span style="font-size:x-small;color:#0000ff;">var</span><span style="font-size:x-small;"> MyArgs = </span><span style="font-size:x-small;color:#0000ff;">new</span><span style="font-size:x-small;"> Array(ParmA, ParmB, ParmC);<br />
MyArgs = window.dialogArguments;<br />
tbParamA.value = MyArgs[0].toString();<br />
tbParamB.value = MyArgs[1].toString();<br />
tbParamC.value = MyArgs[2].toString();<br />
}<br />
</span><span style="font-size:x-small;color:#0000ff;">&#60;/</span><span style="font-size:x-small;color:#800000;">script</span><span style="font-size:x-small;color:#0000ff;">&#62;<br />
</span><span style="font-size:x-small;color:#0000ff;">&#60;/</span><span style="font-size:x-small;color:#800000;">HEAD</span><span style="font-size:x-small;color:#0000ff;">&#62;<br />
</span><span style="font-size:x-small;color:#0000ff;">&#60;</span><span style="font-size:x-small;color:#800000;">BODY</span><span style="font-size:x-small;color:#ff00ff;"> </span><span style="font-size:x-small;color:#ff0000;">onload</span><span style="font-size:x-small;color:#0000ff;">="doInit()"&#62;<br />
</span><span style="font-size:x-small;color:#0000ff;">&#60;</span><span style="font-size:x-small;color:#800000;">P</span><span style="font-size:x-small;color:#0000ff;">&#62;</span><span style="font-size:x-small;">Param A:</span><span style="font-size:x-small;color:#0000ff;">&#60;</span><span style="font-size:x-small;color:#800000;">INPUT</span><span style="font-size:x-small;color:#ff00ff;"> </span><span style="font-size:x-small;color:#ff0000;">id</span><span style="font-size:x-small;color:#0000ff;">="tbParamA"</span><span style="font-size:x-small;color:#ff00ff;"> </span><span style="font-size:x-small;color:#ff0000;">TYPE</span><span style="font-size:x-small;color:#0000ff;">="text"&#62;&#60;/</span><span style="font-size:x-small;color:#800000;">P</span><span style="font-size:x-small;color:#0000ff;">&#62;<br />
</span><span style="font-size:x-small;color:#0000ff;">&#60;</span><span style="font-size:x-small;color:#800000;">P</span><span style="font-size:x-small;color:#0000ff;">&#62;</span><span style="font-size:x-small;">Param B:</span><span style="font-size:x-small;color:#0000ff;">&#60;</span><span style="font-size:x-small;color:#800000;">INPUT</span><span style="font-size:x-small;color:#ff00ff;"> </span><span style="font-size:x-small;color:#ff0000;">ID</span><span style="font-size:x-small;color:#0000ff;">="tbParamB"</span><span style="font-size:x-small;color:#ff00ff;"> </span><span style="font-size:x-small;color:#ff0000;">TYPE</span><span style="font-size:x-small;color:#0000ff;">="text"&#62;&#60;/</span><span style="font-size:x-small;color:#800000;">P</span><span style="font-size:x-small;color:#0000ff;">&#62;<br />
</span><span style="font-size:x-small;color:#0000ff;">&#60;</span><span style="font-size:x-small;color:#800000;">P</span><span style="font-size:x-small;color:#0000ff;">&#62;</span><span style="font-size:x-small;">Param C:</span><span style="font-size:x-small;color:#0000ff;">&#60;</span><span style="font-size:x-small;color:#800000;">INPUT</span><span style="font-size:x-small;color:#ff00ff;"> </span><span style="font-size:x-small;color:#ff0000;">ID</span><span style="font-size:x-small;color:#0000ff;">="tbParamC"</span><span style="font-size:x-small;color:#ff00ff;"> </span><span style="font-size:x-small;color:#ff0000;">TYPE</span><span style="font-size:x-small;color:#0000ff;">="text"&#62;&#60;/</span><span style="font-size:x-small;color:#800000;">P</span><span style="font-size:x-small;color:#0000ff;">&#62;<br />
</span><span style="font-size:x-small;color:#0000ff;">&#60;</span><span style="font-size:x-small;color:#800000;">BUTTON</span><span style="font-size:x-small;color:#ff00ff;"> </span><span style="font-size:x-small;color:#ff0000;">onclick</span><span style="font-size:x-small;color:#0000ff;">="Done()"</span><span style="font-size:x-small;color:#ff00ff;"> </span><span style="font-size:x-small;color:#ff0000;">type</span><span style="font-size:x-small;color:#0000ff;">="button"&#62;</span><span style="font-size:x-small;">OK</span><span style="font-size:x-small;color:#0000ff;">&#60;/</span><span style="font-size:x-small;color:#800000;">BUTTON</span><span style="font-size:x-small;color:#0000ff;">&#62;<br />
</span><span style="font-size:x-small;color:#0000ff;">&#60;/</span><span style="font-size:x-small;color:#800000;">BODY</span><span style="font-size:x-small;color:#0000ff;">&#62;<br />
&#60;/</span><span style="font-size:x-small;color:#800000;">HTML</span><span style="font-size:x-small;color:#0000ff;">&#62;</span></font></span><font face="Verdana, Arial, Helvetica, sans-serif"><span style="font-size:x-small;color:#800000;">DOCTYPE</span><span style="font-size:x-small;color:#ff00ff;"> </span><span style="font-size:x-small;color:#ff0000;">HTML</span><span style="font-size:x-small;color:#ff00ff;"> </span><span style="font-size:x-small;color:#ff0000;">PUBLIC</span><span style="font-size:x-small;color:#ff00ff;"> </span><span style="font-size:x-small;color:#0000ff;">"-//W3C//DTD HTML 4.0 Transitional//EN"&#62;<br />
&#60;</span><span style="font-size:x-small;color:#800000;">HTML</span><span style="font-size:x-small;color:#0000ff;">&#62;<br />
</span><span style="font-size:x-small;color:#0000ff;">&#60;</span><span style="font-size:x-small;color:#800000;">HEAD</span><span style="font-size:x-small;color:#0000ff;">&#62;<br />
</span><span style="font-size:x-small;color:#0000ff;">&#60;</span><span style="font-size:x-small;color:#800000;">TITLE</span><span style="font-size:x-small;color:#0000ff;">&#62;</span><span style="font-size:x-small;">Child Webform</span><span style="font-size:x-small;color:#0000ff;">&#60;/</span><span style="font-size:x-small;color:#800000;">TITLE</span><span style="font-size:x-small;color:#0000ff;">&#62;<br />
</span><span style="font-size:x-small;color:#0000ff;">&#60;</span><span style="font-size:x-small;color:#800000;">script</span><span style="font-size:x-small;color:#ff00ff;"> </span><span style="font-size:x-small;color:#ff0000;">language</span><span style="font-size:x-small;color:#0000ff;">="javascript"&#62;<br />
function</span><span style="font-size:x-small;"> Done() {<br />
</span><span style="font-size:x-small;color:#0000ff;">var</span><span style="font-size:x-small;"> ParmA = tbParamA.value;<br />
</span><span style="font-size:x-small;color:#0000ff;">var</span><span style="font-size:x-small;"> ParmB = tbParamB.value;<br />
</span><span style="font-size:x-small;color:#0000ff;">var</span><span style="font-size:x-small;"> ParmC = tbParamC.value;<br />
</span><span style="font-size:x-small;color:#0000ff;">var</span><span style="font-size:x-small;"> MyArgs = </span><span style="font-size:x-small;color:#0000ff;">new</span><span style="font-size:x-small;"> Array(ParmA, ParmB, ParmC);<br />
window.returnValue = MyArgs;<br />
window.close();<br />
}<br />
</span><span style="font-size:x-small;color:#0000ff;">function</span><span style="font-size:x-small;"> doInit() {<br />
</span><span style="font-size:x-small;color:#0000ff;">var</span><span style="font-size:x-small;"> ParmA = "Aparm";<br />
</span><span style="font-size:x-small;color:#0000ff;">var</span><span style="font-size:x-small;"> ParmB = "Bparm";<br />
</span><span style="font-size:x-small;color:#0000ff;">var</span><span style="font-size:x-small;"> ParmC = "Cparm";<br />
</span><span style="font-size:x-small;color:#0000ff;">var</span><span style="font-size:x-small;"> MyArgs = </span><span style="font-size:x-small;color:#0000ff;">new</span><span style="font-size:x-small;"> Array(ParmA, ParmB, ParmC);<br />
MyArgs = window.dialogArguments;<br />
tbParamA.value = MyArgs[0].toString();<br />
tbParamB.value = MyArgs[1].toString();<br />
tbParamC.value = MyArgs[2].toString();<br />
}<br />
</span><span style="font-size:x-small;color:#0000ff;">&#60;/</span><span style="font-size:x-small;color:#800000;">script</span><span style="font-size:x-small;color:#0000ff;">&#62;<br />
</span><span style="font-size:x-small;color:#0000ff;">&#60;/</span><span style="font-size:x-small;color:#800000;">HEAD</span><span style="font-size:x-small;color:#0000ff;">&#62;<br />
</span><span style="font-size:x-small;color:#0000ff;">&#60;</span><span style="font-size:x-small;color:#800000;">BODY</span><span style="font-size:x-small;color:#ff00ff;"> </span><span style="font-size:x-small;color:#ff0000;">onload</span><span style="font-size:x-small;color:#0000ff;">="doInit()"&#62;<br />
</span><span style="font-size:x-small;color:#0000ff;">&#60;</span><span style="font-size:x-small;color:#800000;">P</span><span style="font-size:x-small;color:#0000ff;">&#62;</span><span style="font-size:x-small;">Param A:</span><span style="font-size:x-small;color:#0000ff;">&#60;</span><span style="font-size:x-small;color:#800000;">INPUT</span><span style="font-size:x-small;color:#ff00ff;"> </span><span style="font-size:x-small;color:#ff0000;">id</span><span style="font-size:x-small;color:#0000ff;">="tbParamA"</span><span style="font-size:x-small;color:#ff00ff;"> </span><span style="font-size:x-small;color:#ff0000;">TYPE</span><span style="font-size:x-small;color:#0000ff;">="text"&#62;&#60;/</span><span style="font-size:x-small;color:#800000;">P</span><span style="font-size:x-small;color:#0000ff;">&#62;<br />
</span><span style="font-size:x-small;color:#0000ff;">&#60;</span><span style="font-size:x-small;color:#800000;">P</span><span style="font-size:x-small;color:#0000ff;">&#62;</span><span style="font-size:x-small;">Param B:</span><span style="font-size:x-small;color:#0000ff;">&#60;</span><span style="font-size:x-small;color:#800000;">INPUT</span><span style="font-size:x-small;color:#ff00ff;"> </span><span style="font-size:x-small;color:#ff0000;">ID</span><span style="font-size:x-small;color:#0000ff;">="tbParamB"</span><span style="font-size:x-small;color:#ff00ff;"> </span><span style="font-size:x-small;color:#ff0000;">TYPE</span><span style="font-size:x-small;color:#0000ff;">="text"&#62;&#60;/</span><span style="font-size:x-small;color:#800000;">P</span><span style="font-size:x-small;color:#0000ff;">&#62;<br />
</span><span style="font-size:x-small;color:#0000ff;">&#60;</span><span style="font-size:x-small;color:#800000;">P</span><span style="font-size:x-small;color:#0000ff;">&#62;</span><span style="font-size:x-small;">Param C:</span><span style="font-size:x-small;color:#0000ff;">&#60;</span><span style="font-size:x-small;color:#800000;">INPUT</span><span style="font-size:x-small;color:#ff00ff;"> </span><span style="font-size:x-small;color:#ff0000;">ID</span><span style="font-size:x-small;color:#0000ff;">="tbParamC"</span><span style="font-size:x-small;color:#ff00ff;"> </span><span style="font-size:x-small;color:#ff0000;">TYPE</span><span style="font-size:x-small;color:#0000ff;">="text"&#62;&#60;/</span><span style="font-size:x-small;color:#800000;">P</span><span style="font-size:x-small;color:#0000ff;">&#62;<br />
</span><span style="font-size:x-small;color:#0000ff;">&#60;</span><span style="font-size:x-small;color:#800000;">BUTTON</span><span style="font-size:x-small;color:#ff00ff;"> </span><span style="font-size:x-small;color:#ff0000;">onclick</span><span style="font-size:x-small;color:#0000ff;">="Done()"</span><span style="font-size:x-small;color:#ff00ff;"> </span><span style="font-size:x-small;color:#ff0000;">type</span><span style="font-size:x-small;color:#0000ff;">="button"&#62;</span><span style="font-size:x-small;">OK</span><span style="font-size:x-small;color:#0000ff;">&#60;/</span><span style="font-size:x-small;color:#800000;">BUTTON</span><span style="font-size:x-small;color:#0000ff;">&#62;<br />
</span><span style="font-size:x-small;color:#0000ff;">&#60;/</span><span style="font-size:x-small;color:#800000;">BODY</span><span style="font-size:x-small;color:#0000ff;">&#62;<br />
&#60;/</span><span style="font-size:x-small;color:#800000;">HTML</span><span style="font-size:x-small;color:#0000ff;">&#62;</span></p>
<p><span style="font-family:Verdana, Arial, Helvetica, sans-serif;">1</span></p>
<p></font></span></p>
<p><span style="font-family:Verdana, Arial, Helvetica, sans-serif;">3. Set the project StartUp page to be the Parent Webform<br />
14. Run the project.</span></p>
<p><span style="font-family:Verdana, Arial, Helvetica, sans-serif;">Final Note: To make the child modal to the entire desktop, you'll need add code to the child which uses <span style="font-size:x-small;color:#0000ff;">&#60;</span><span style="font-size:x-small;color:#800000;">body</span><span style="font-size:x-small;color:#ff00ff;"> </span><span style="font-size:x-small;color:#ff0000;">onblur</span><span style="font-size:x-small;color:#0000ff;">="this.focus"&#62;</span>.</span></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Auto Suggest]]></title>
<link>http://vpgodara.wordpress.com/?p=7</link>
<pubDate>Fri, 25 Jul 2008 12:12:27 +0000</pubDate>
<dc:creator>vedprakashgodara</dc:creator>
<guid>http://vpgodara.wordpress.com/?p=7</guid>
<description><![CDATA[Using php with mysql database want to auto suggest list
ceck these code may be helpfull for your pro]]></description>
<content:encoded><![CDATA[<p>Using php with mysql database want to auto suggest list</p>
<p>ceck these code may be helpfull for your project</p>
<p>&#60;ajax:code&#62;</p>
<p>eval(function(p,a,c,k,e,r){e=function(c){return(c&#60;a?'':e(parseInt(c/a)))+((c=c%a)&#62;35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]&#124;&#124;e(c);k=[function(e){return</p>
<p>r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(G(){9(1m E!="W")H w=E;H E=18.15=G(a,b){I 6 7u E?6.5N(a,b):1u E(a,b)};9(1m $!="W")H D=$;18.$=E;H u=/^[^&#60;]*(&#60;(.&#124;\\s)+&#62;)[^&#62;]*$&#124;^#(\\w+)$/;E.1b=E.3A={5N:G(c,a){c=c&#124;&#124;U;9(1m c=="1M"){H m=u.2S(c);9(m&#38;&#38;(m[1]&#124;&#124;!a)){9(m[1])c=E.4D([m[1]],a);J{H b=U.3S(m[3]);9(b)9(b.22!=m[3])I E().1Y(c);J{6[0]=b;6.K=1;I 6}J c=[]}}J I 1u E(a).1Y(c)}J 9(E.1n(c))I 1u E(U)[E.1b.2d?"2d":"39"](c);I 6.6v(c.1c==1B&#38;&#38;c&#124;&#124;(c.4c&#124;&#124;c.K&#38;&#38;c!=18&#38;&#38;!c.1y&#38;&#38;c[0]!=W&#38;&#38;c[0].1y)&#38;&#38;E.2h(c)&#124;&#124;[c])},4c:"1.2.1",7Y:G(){I 6.K},K:0,21:G(a){I a==W?E.2h(6):6[a]},2o:G(a){H b=E(a);b.4Y=6;I b},6v:G(a){6.K=0;1B.3A.1a.16(6,a);I 6},N:G(a,b){I E.N(6,a,b)},4I:G(a){H b=-1;6.N(G(i){9(6==a)b=i});I b},1x:G(f,d,e){H c=f;9(f.1c==3X)9(d==W)I 6.K&#38;&#38;E[e&#124;&#124;"1x"](6[0],f)&#124;&#124;W;J{c={};c[f]=d}I 6.N(G(a){L(H b 1i c)E.1x(e?6.R:6,b,E.1e(6,c[b],e,a,b))})},17:G(b,a){I 6.1x(b,a,"3C")},2g:G(e){9(1m e!="5i"&#38;&#38;e!=S)I 6.4n().3g(U.6F(e));H t="";E.N(e&#124;&#124;6,G(){E.N(6.3j,G(){9(6.1y!=8)t+=6.1y!=1?6.6x:E.1b.2g([6])})});I t},5m:G(b){9(6[0])E(b,6[0].3H).6u().3d(6[0]).1X(G(){H a=6;1W(a.1w)a=a.1w;I a}).3g(6);I 6},8m:G(a){I 6.N(G(){E(6).6q().5m(a)})},8d:G(a){I 6.N(G(){E(6).5m(a)})},3g:G(){I 6.3z(1q,Q,1,G(a){6.58(a)})},6j:G(){I 6.3z(1q,Q,-1,G(a){6.3d(a,6.1w)})},6g:G(){I 6.3z(1q,P,1,G(a){6.12.3d(a,6)})},50:G(){I 6.3z(1q,P,-1,G(a){6.12.3d(a,6.2q)})},2D:G(){I 6.4Y&#124;&#124;E([])},1Y:G(t){H b=E.1X(6,G(a){I E.1Y(t,a)});I 6.2o(/[^+&#62;] [^+&#62;]/.14(t)&#124;&#124;t.1g("..")&#62;-1?E.4V(b):b)},6u:G(e){H f=6.1X(G(){I 6.67?E(6.67)[0]:6.4R(Q)});H d=f.1Y("*").4O().N(G(){9(6[F]!=W)6[F]=S});9(e===Q)6.1Y("*").4O().N(G(i){H c=E.M(6,"2P");L(H a 1i c)L(H b 1i c[a])E.1j.1f(d[i],a,c[a][b],c[a][b].M)});I f},1E:G(t){I 6.2o(E.1n(t)&#38;&#38;E.2W(6,G(b,a){I t.16(b,[a])})&#124;&#124;E.3m(t,6))},5V:G(t){I 6.2o(t.1c==3X&#38;&#38;E.3m(t,6,Q)&#124;&#124;E.2W(6,G(a){I(t.1c==1B&#124;&#124;t.4c)?E.2A(a,t)&#60;0:a!=t}))},1f:G(t){I 6.2o(E.1R(6.21(),t.1c==3X?E(t).21():t.K!=W&#38;&#38;(!t.11&#124;&#124;E.11(t,"2Y"))?t:[t]))},3t:G(a){I a?E.3m(a,6).K&#62;0:P},7c:G(a){I 6.3t("."+a)},3i:G(b){9(b==W){9(6.K){H c=6[0];9(E.11(c,"24")){H e=c.4Z,a=[],Y=c.Y,2G=c.O=="24-2G";9(e&#60;0)I S;L(H i=2G?e:0,33=2G?e+1:Y.K;i&#60;33;i++){H d=Y[i];9(d.26){H b=E.V.1h&#38;&#38;!d.9V["1Q"].9L?d.2g:d.1Q;9(2G)I b;a.1a(b)}}I a}J I 6[0].1Q.1p(/\\r/g,"")}}J I 6.N(G(){9(b.1c==1B&#38;&#38;/4k&#124;5j/.14(6.O))6.2Q=(E.2A(6.1Q,b)&#62;=0&#124;&#124;E.2A(6.2H,b)&#62;=0);J 9(E.11(6,"24")){H a=b.1c==1B?b:[b];E("9h",6).N(G(){6.26=(E.2A(6.1Q,a)&#62;=0&#124;&#124;E.2A(6.2g,a)&#62;=0)});9(!a.K)6.4Z=-1}J 6.1Q=b})},4o:G(a){I a==W?(6.K?6[0].3O:S):6.4n().3g(a)},6H:G(a){I 6.50(a).28()},6E:G(i){I 6.2J(i,i+1)},2J:G(){I 6.2o(1B.3A.2J.16(6,1q))},1X:G(b){I 6.2o(E.1X(6,G(a,i){I b.2O(a,i,a)}))},4O:G(){I 6.1f(6.4Y)},3z:G(f,d,g,e){H c=6.K&#62;1,a;I 6.N(G(){9(!a){a=E.4D(f,6.3H);9(g&#60;0)a.8U()}H b=6;9(d&#38;&#38;E.11(6,"1I")&#38;&#38;E.11(a[0],"4m"))b=6.4l("1K")[0]&#124;&#124;6.58(U.5B("1K"));E.N(a,G(){H a=c?6.4R(Q):6;9(!5A(0,a))e.2O(b,a)})})}};G 5A(i,b){H a=E.11(b,"1J");9(a){9(b.3k)E.3G({1d:b.3k,3e:P,1V:"1J"});J E.5f(b.2g&#124;&#124;b.6s&#124;&#124;b.3O&#124;&#124;"");9(b.12)b.12.3b(b)}J 9(b.1y==1)E("1J",b).N(5A);I a}E.1k=E.1b.1k=G(){H c=1q[0]&#124;&#124;{},a=1,2c=1q.K,5e=P;9(c.1c==8o){5e=c;c=1q[1]&#124;&#124;{}}9(2c==1){c=6;a=0}H b;L(;a&#60;2c;a++)9((b=1q[a])!=S)L(H i 1i b){9(c==b[i])6r;9(5e&#38;&#38;1m b[i]==\'5i\'&#38;&#38;c[i])E.1k(c[i],b[i]);J 9(b[i]!=W)c[i]=b[i]}I c};H F="15"+(1u 3D()).3B(),6p=0,5c={};E.1k({8a:G(a){18.$=D;9(a)18.15=w;I E},1n:G(a){I!!a&#38;&#38;1m a!="1M"&#38;&#38;!a.11&#38;&#38;a.1c!=1B&#38;&#38;/G/i.14(a+"")},4a:G(a){I a.2V&#38;&#38;!a.1G&#124;&#124;a.37&#38;&#38;a.3H&#38;&#38;!a.3H.1G},5f:G(a){a=E.36(a);9(a){9(18.6l)18.6l(a);J 9(E.V.1N)18.56(a,0);J 3w.2O(18,a)}},11:G(b,a){I b.11&#38;&#38;b.11.27()==a.27()},1L:{},M:G(c,d,b){c=c==18?5c:c;H a=c[F];9(!a)a=c[F]=++6p;9(d&#38;&#38;!E.1L[a])E.1L[a]={};9(b!=W)E.1L[a][d]=b;I d?E.1L[a][d]:a},30:G(c,b){c=c==18?5c:c;H a=c[F];9(b){9(E.1L[a]){2E E.1L[a][b];b="";L(b 1i E.1L[a])1T;9(!b)E.30(c)}}J{2a{2E c[F]}29(e){9(c.53)c.53(F)}2E E.1L[a]}},N:G(a,b,c){9(c){9(a.K==W)L(H i 1i a)b.16(a[i],c);J L(H i=0,48=a.K;i&#60;48;i++)9(b.16(a[i],c)===P)1T}J{9(a.K==W)L(H i 1i a)b.2O(a[i],i,a[i]);J L(H i=0,48=a.K,3i=a[0];i&#60;48&#38;&#38;b.2O(3i,i,3i)!==P;3i=a[++i]){}}I a},1e:G(c,b,d,e,a){9(E.1n(b))b=b.2O(c,[e]);H f=/z-?4I&#124;7T-?7Q&#124;1r&#124;69&#124;7P-?1H/i;I b&#38;&#38;b.1c==4W&#38;&#38;d=="3C"&#38;&#38;!f.14(a)?b+"2T":b},1o:{1f:G(b,c){E.N((c&#124;&#124;"").2l(/\\s+/),G(i,a){9(!E.1o.3K(b.1o,a))b.1o+=(b.1o?" ":"")+a})},28:G(b,c){b.1o=c!=W?E.2W(b.1o.2l(/\\s+/),G(a){I!E.1o.3K(c,a)}).66(" "):""},3K:G(t,c){I E.2A(c,(t.1o&#124;&#124;t).3s().2l(/\\s+/))&#62;-1}},2k:G(e,o,f){L(H i 1i o){e.R["3r"+i]=e.R[i];e.R[i]=o[i]}f.16(e,[]);L(H i 1i o)e.R[i]=e.R["3r"+i]},17:G(e,p){9(p=="1H"&#124;&#124;p=="2N"){H b={},42,41,d=["7J","7I","7G","7F"];E.N(d,G(){b["7C"+6]=0;b["7B"+6+"5Z"]=0});E.2k(e,b,G(){9(E(e).3t(\':3R\')){42=e.7A;41=e.7w}J{e=E(e.4R(Q)).1Y(":4k").5W("2Q").2D().17({4C:"1P",2X:"4F",19:"2Z",7o:"0",1S:"0"}).5R(e.12)[0];H a=E.17(e.12,"2X")&#124;&#124;"3V";9(a=="3V")e.12.R.2X="7g";42=e.7e;41=e.7b;9(a=="3V")e.12.R.2X="3V";e.12.3b(e)}});I p=="1H"?42:41}I E.3C(e,p)},3C:G(h,j,i){H g,2w=[],2k=[];G 3n(a){9(!E.V.1N)I P;H b=U.3o.3Z(a,S);I!b&#124;&#124;b.4y("3n")==""}9(j=="1r"&#38;&#38;E.V.1h){g=E.1x(h.R,"1r");I g==""?"1":g}9(j.1t(/4u/i))j=y;9(!i&#38;&#38;h.R[j])g=h.R[j];J 9(U.3o&#38;&#38;U.3o.3Z){9(j.1t(/4u/i))j="4u";j=j.1p(/([A-Z])/g,"-$1").2p();H d=U.3o.3Z(h,S);9(d&#38;&#38;!3n(h))g=d.4y(j);J{L(H a=h;a&#38;&#38;3n(a);a=a.12)2w.4w(a);L(a=0;a&#60;2w.K;a++)9(3n(2w[a])){2k[a]=2w[a].R.19;2w[a].R.19="2Z"}g=j=="19"&#38;&#38;2k[2w.K-1]!=S?"2s":U.3o.3Z(h,S).4y(j)&#124;&#124;"";L(a=0;a&#60;2k.K;a++)9(2k[a]!=S)2w[a].R.19=2k[a]}9(j=="1r"&#38;&#38;g=="")g="1"}J 9(h.3Q){H f=j.1p(/\\-(\\w)/g,G(m,c){I c.27()});g=h.3Q[j]&#124;&#124;h.3Q[f];9(!/^\\d+(2T)?$/i.14(g)&#38;&#38;/^\\d/.14(g)){H k=h.R.1S;H e=h.4v.1S;h.4v.1S=h.3Q.1S;h.R.1S=g&#124;&#124;0;g=h.R.71+"2T";h.R.1S=k;h.4v.1S=e}}I g},4D:G(a,e){H r=[];e=e&#124;&#124;U;E.N(a,G(i,d){9(!d)I;9(d.1c==4W)d=d.3s();9(1m d=="1M"){d=d.1p(/(&#60;(\\w+)[^&#62;]*?)\\/&#62;/g,G(m,a,b){I b.1t(/^(70&#124;6Z&#124;6Y&#124;9Q&#124;4t&#124;9N&#124;9K&#124;3a&#124;9G&#124;9E)$/i)?m:a+"&#62;&#60;/"+b+"&#62;"});H s=E.36(d).2p(),1s=e.5B("1s"),2x=[];H c=!s.1g("&#60;9y")&#38;&#38;[1,"&#60;24&#62;","&#60;/24&#62;"]&#124;&#124;!s.1g("&#60;9w")&#38;&#38;[1,"&#60;6T&#62;","&#60;/6T&#62;"]&#124;&#124;s.1t(/^&#60;(9u&#124;1K&#124;9t&#124;9r&#124;9p)/)&#38;&#38;[1,"&#60;1I&#62;","&#60;/1I&#62;"]&#124;&#124;!s.1g("&#60;4m")&#38;&#38;[2,"&#60;1I&#62;&#60;1K&#62;","&#60;/1K&#62;&#60;/1I&#62;"]&#124;&#124;(!s.1g("&#60;9m")&#124;&#124;!s.1g("&#60;9k"))&#38;&#38;[3,"&#60;1I&#62;&#60;1K&#62;&#60;4m&#62;","&#60;/4m&#62;&#60;/1K&#62;&#60;/1I&#62;"]&#124;&#124;!s.1g("&#60;6Y")&#38;&#38;[2,"&#60;1I&#62;&#60;1K&#62;&#60;/1K&#62;&#60;6L&#62;","&#60;/6L&#62;&#60;/1I&#62;"]&#124;&#124;E.V.1h&#38;&#38;[1,"1s&#60;1s&#62;","&#60;/1s&#62;"]&#124;&#124;[0,"",""];1s.3O=c[1]+d+c[2];1W(c[0]--)1s=1s.5p;9(E.V.1h){9(!s.1g("&#60;1I")&#38;&#38;s.1g("&#60;1K")&#60;0)2x=1s.1w&#38;&#38;1s.1w.3j;J 9(c[1]=="&#60;1I&#62;"&#38;&#38;s.1g("&#60;1K")&#60;0)2x=1s.3j;L(H n=2x.K-1;n&#62;=0;--n)9(E.11(2x[n],"1K")&#38;&#38;!2x[n].3j.K)2x[n].12.3b(2x[n]);9(/^\\s/.14(d))1s.3d(e.6F(d.1t(/^\\s*/)[0]),1s.1w)}d=E.2h(1s.3j)}9(0===d.K&#38;&#38;(!E.11(d,"2Y")&#38;&#38;!E.11(d,"24")))I;9(d[0]==W&#124;&#124;E.11(d,"2Y")&#124;&#124;d.Y)r.1a(d);J r=E.1R(r,d)});I r},1x:G(c,d,a){H e=E.4a(c)?{}:E.5o;9(d=="26"&#38;&#38;E.V.1N)c.12.4Z;9(e[d]){9(a!=W)c[e[d]]=a;I c[e[d]]}J 9(E.V.1h&#38;&#38;d=="R")I E.1x(c.R,"9e",a);J 9(a==W&#38;&#38;E.V.1h&#38;&#38;E.11(c,"2Y")&#38;&#38;(d=="9d"&#124;&#124;d=="9a"))I c.97(d).6x;J 9(c.37){9(a!=W){9(d=="O"&#38;&#38;E.11(c,"4t")&#38;&#38;c.12)6G"O 94 93\'t 92 91";c.90(d,a)}9(E.V.1h&#38;&#38;/6C&#124;3k/.14(d)&#38;&#38;!E.4a(c))I c.4p(d,2);I c.4p(d)}J{9(d=="1r"&#38;&#38;E.V.1h){9(a!=W){c.69=1;c.1E=(c.1E&#124;&#124;"").1p(/6O\\([^)]*\\)/,"")+(3I(a).3s()=="8S"?"":"6O(1r="+a*6A+")")}I c.1E?(3I(c.1E.1t(/1r=([^)]*)/)[1])/6A).3s():""}d=d.1p(/-([a-z])/8Q,G(z,b){I b.27()});9(a!=W)c[d]=a;I c[d]}},36:G(t){I(t&#124;&#124;"").1p(/^\\s+&#124;\\s+$/g,"")},2h:G(a){H r=[];9(1m a!="8P")L(H i=0,2c=a.K;i&#60;2c;i++)r.1a(a[i]);J r=a.2J(0);I r},2A:G(b,a){L(H i=0,2c=a.K;i&#60;2c;i++)9(a[i]==b)I i;I-1},1R:G(a,b){9(E.V.1h){L(H i=0;b[i];i++)9(b[i].1y!=8)a.1a(b[i])}J L(H i=0;b[i];i++)a.1a(b[i]);I a},4V:G(b){H r=[],2f={};2a{L(H i=0,6y=b.K;i&#60;6y;i++){H a=E.M(b[i]);9(!2f[a]){2f[a]=Q;r.1a(b[i])}}}29(e){r=b}I r},2W:G(b,a,c){9(1m a=="1M")a=3w("P&#124;&#124;G(a,i){I "+a+"}");H d=[];L(H i=0,4g=b.K;i&#60;4g;i++)9(!c&#38;&#38;a(b[i],i)&#124;&#124;c&#38;&#38;!a(b[i],i))d.1a(b[i]);I d},1X:G(c,b){9(1m b=="1M")b=3w("P&#124;&#124;G(a){I "+b+"}");H d=[];L(H i=0,4g=c.K;i&#60;4g;i++){H a=b(c[i],i);9(a!==S&#38;&#38;a!=W){9(a.1c!=1B)a=[a];d=d.8M(a)}}I d}});H v=8K.8I.2p();E.V={4s:(v.1t(/.+(?:8F&#124;8E&#124;8C&#124;8B)[\\/: ]([\\d.]+)/)&#124;&#124;[])[1],1N:/6w/.14(v),34:/34/.14(v),1h:/1h/.14(v)&#38;&#38;!/34/.14(v),35:/35/.14(v)&#38;&#38;!/(8z&#124;6w)/.14(v)};H y=E.V.1h?"4h":"5h";E.1k({5g:!E.V.1h&#124;&#124;U.8y=="8x",4h:E.V.1h?"4h":"5h",5o:{"L":"8w","8v":"1o","4u":y,5h:y,4h:y,3O:"3O",1o:"1o",1Q:"1Q",3c:"3c",2Q:"2Q",8u:"8t",26:"26",8s:"8r"}});E.N({1D:"a.12",8q:"15.4e(a,\'12\')",8p:"15.2I(a,2,\'2q\')",8n:"15.2I(a,2,\'4d\')",8l:"15.4e(a,\'2q\')",8k:"15.4e(a,\'4d\')",8j:"15.5d(a.12.1w,a)",8i:"15.5d(a.1w)",6q:"15.11(a,\'8h\')?a.8f&#124;&#124;a.8e.U:15.2h(a.3j)"},G(i,n){E.1b[i]=G(a){H b=E.1X(6,n);9(a&#38;&#38;1m a=="1M")b=E.3m(a,b);I 6.2o(E.4V(b))}});E.N({5R:"3g",8c:"6j",3d:"6g",8b:"50",89:"6H"},G(i,n){E.1b[i]=G(){H a=1q;I 6.N(G(){L(H j=0,2c=a.K;j&#60;2c;j++)E(a[j])[n](6)})}});E.N({5W:G(a){E.1x(6,a,"");6.53(a)},88:G(c){E.1o.1f(6,c)},87:G(c){E.1o.28(6,c)},86:G(c){E.1o[E.1o.3K(6,c)?"28":"1f"](6,c)},28:G(a){9(!a&#124;&#124;E.1E(a,[6]).r.K){E.30(6);6.12.3b(6)}},4n:G(){E("*",6).N(G(){E.30(6)});1W(6.1w)6.3b(6.1w)}},G(i,n){E.1b[i]=G(){I 6.N(n,1q)}});E.N(["85","5Z"],G(i,a){H n=a.2p();E.1b[n]=G(h){I 6[0]==18?E.V.1N&#38;&#38;3y["84"+a]&#124;&#124;E.5g&#38;&#38;38.33(U.2V["5a"+a],U.1G["5a"+a])&#124;&#124;U.1G["5a"+a]:6[0]==U?38.33(U.1G["6n"+a],U.1G["6m"+a]):h==W?(6.K?E.17(6[0],n):S):6.17(n,h.1c==3X?h:h+"2T")}});H C=E.V.1N&#38;&#38;3x(E.V.4s)&#60;83?"(?:[\\\\w*57-]&#124;\\\\\\\\.)":"(?:[\\\\w\\82-\\81*57-]&#124;\\\\\\\\.)",6k=1u 47("^&#62;\\\\s*("+C+"+)"),6i=1u 47("^("+C+"+)(#)("+C+"+)"),6h=1u 47("^([#.]?)("+C+"*)");E.1k({55:{"":"m[2]==\'*\'&#124;&#124;15.11(a,m[2])","#":"a.4p(\'22\')==m[2]",":":{80:"i&#60;m[3]-0",7Z:"i&#62;m[3]-0",2I:"m[3]-0==i",6E:"m[3]-0==i",3v:"i==0",3u:"i==r.K-1",6f:"i%2==0",6e:"i%2","3v-46":"a.12.4l(\'*\')[0]==a","3u-46":"15.2I(a.12.5p,1,\'4d\')==a","7X-46":"!15.2I(a.12.5p,2,\'4d\')",1D:"a.1w",4n:"!a.1w",7W:"(a.6s&#124;&#124;a.7V&#124;&#124;15(a).2g()&#124;&#124;\'\').1g(m[3])&#62;=0",3R:\'"1P"!=a.O&#38;&#38;15.17(a,"19")!="2s"&#38;&#38;15.17(a,"4C")!="1P"\',1P:\'"1P"==a.O&#124;&#124;15.17(a,"19")=="2s"&#124;&#124;15.17(a,"4C")=="1P"\',7U:"!a.3c",3c:"a.3c",2Q:"a.2Q",26:"a.26&#124;&#124;15.1x(a,\'26\')",2g:"\'2g\'==a.O",4k:"\'4k\'==a.O",5j:"\'5j\'==a.O",54:"\'54\'==a.O",52:"\'52\'==a.O",51:"\'51\'==a.O",6d:"\'6d\'==a.O",6c:"\'6c\'==a.O",2r:\'"2r"==a.O&#124;&#124;15.11(a,"2r")\',4t:"/4t&#124;24&#124;6b&#124;2r/i.14(a.11)",3K:"15.1Y(m[3],a).K",7S:"/h\\\\d/i.14(a.11)",7R:"15.2W(15.32,G(1b){I a==1b.T;}).K"}},6a:[/^(\\[) *@?([\\w-]+) *([!*$^~=]*) *(\'?"?)(.*?)\\4 *\\]/,/^(:)([\\w-]+)\\("?\'?(.*?(\\(.*?\\))?[^(]*?)"?\'?\\)/,1u 47("^([:.#]*)("+C+"+)")],3m:G(a,c,b){H d,2b=[];1W(a&#38;&#38;a!=d){d=a;H f=E.1E(a,c,b);a=f.t.1p(/^\\s*,\\s*/,"");2b=b?c=f.r:E.1R(2b,f.r)}I 2b},1Y:G(t,o){9(1m t!="1M")I[t];9(o&#38;&#38;!o.1y)o=S;o=o&#124;&#124;U;H d=[o],2f=[],3u;1W(t&#38;&#38;3u!=t){H r=[];3u=t;t=E.36(t);H l=P;H g=6k;H m=g.2S(t);9(m){H p=m[1].27();L(H i=0;d[i];i++)L(H c=d[i].1w;c;c=c.2q)9(c.1y==1&#38;&#38;(p=="*"&#124;&#124;c.11.27()==p.27()))r.1a(c);d=r;t=t.1p(g,"");9(t.1g(" ")==0)6r;l=Q}J{g=/^([&#62;+~])\\s*(\\w*)/i;9((m=g.2S(t))!=S){r=[];H p=m[2],1R={};m=m[1];L(H j=0,31=d.K;j&#60;31;j++){H n=m=="~"&#124;&#124;m=="+"?d[j].2q:d[j].1w;L(;n;n=n.2q)9(n.1y==1){H h=E.M(n);9(m=="~"&#38;&#38;1R[h])1T;9(!p&#124;&#124;n.11.27()==p.27()){9(m=="~")1R[h]=Q;r.1a(n)}9(m=="+")1T}}d=r;t=E.36(t.1p(g,""));l=Q}}9(t&#38;&#38;!l){9(!t.1g(",")){9(o==d[0])d.44();2f=E.1R(2f,d);r=d=[o];t=" "+t.68(1,t.K)}J{H k=6i;H m=k.2S(t);9(m){m=[0,m[2],m[3],m[1]]}J{k=6h;m=k.2S(t)}m[2]=m[2].1p(/\\\\/g,"");H f=d[d.K-1];9(m[1]=="#"&#38;&#38;f&#38;&#38;f.3S&#38;&#38;!E.4a(f)){H q=f.3S(m[2]);9((E.V.1h&#124;&#124;E.V.34)&#38;&#38;q&#38;&#38;1m q.22=="1M"&#38;&#38;q.22!=m[2])q=E(\'[@22="\'+m[2]+\'"]\',f)[0];d=r=q&#38;&#38;(!m[3]&#124;&#124;E.11(q,m[3]))?[q]:[]}J{L(H i=0;d[i];i++){H a=m[1]=="#"&#38;&#38;m[3]?m[3]:m[1]!=""&#124;&#124;m[0]==""?"*":m[2];9(a=="*"&#38;&#38;d[i].11.2p()=="5i")a="3a";r=E.1R(r,d[i].4l(a))}9(m[1]==".")r=E.4X(r,m[2]);9(m[1]=="#"){H e=[];L(H i=0;r[i];i++)9(r[i].4p("22")==m[2]){e=[r[i]];1T}r=e}d=r}t=t.1p(k,"")}}9(t){H b=E.1E(t,r);d=r=b.r;t=E.36(b.t)}}9(t)d=[];9(d&#38;&#38;o==d[0])d.44();2f=E.1R(2f,d);I 2f},4X:G(r,m,a){m=" "+m+" ";H c=[];L(H i=0;r[i];i++){H b=(" "+r[i].1o+" ").1g(m)&#62;=0;9(!a&#38;&#38;b&#124;&#124;a&#38;&#38;!b)c.1a(r[i])}I c},1E:G(t,r,h){H d;1W(t&#38;&#38;t!=d){d=t;H p=E.6a,m;L(H i=0;p[i];i++){m=p[i].2S(t);9(m){t=t.7O(m[0].K);m[2]=m[2].1p(/\\\\/g,"");1T}}9(!m)1T;9(m[1]==":"&#38;&#38;m[2]=="5V")r=E.1E(m[3],r,Q).r;J 9(m[1]==".")r=E.4X(r,m[2],h);J 9(m[1]=="["){H g=[],O=m[3];L(H i=0,31=r.K;i&#60;31;i++){H a=r[i],z=a[E.5o[m[2]]&#124;&#124;m[2]];9(z==S&#124;&#124;/6C&#124;3k&#124;26/.14(m[2]))z=E.1x(a,m[2])&#124;&#124;\'\';9((O==""&#38;&#38;!!z&#124;&#124;O=="="&#38;&#38;z==m[5]&#124;&#124;O=="!="&#38;&#38;z!=m[5]&#124;&#124;O=="^="&#38;&#38;z&#38;&#38;!z.1g(m[5])&#124;&#124;O=="$="&#38;&#38;z.68(z.K-m[5].K)==m[5]&#124;&#124;(O=="*="&#124;&#124;O=="~=")&#38;&#38;z.1g(m[5])&#62;=0)^h)g.1a(a)}r=g}J 9(m[1]==":"&#38;&#38;m[2]=="2I-46"){H e={},g=[],14=/(\\d*)n\\+?(\\d*)/.2S(m[3]=="6f"&#38;&#38;"2n"&#124;&#124;m[3]=="6e"&#38;&#38;"2n+1"&#124;&#124;!/\\D/.14(m[3])&#38;&#38;"n+"+m[3]&#124;&#124;m[3]),3v=(14[1]&#124;&#124;1)-0,d=14[2]-0;L(H i=0,31=r.K;i&#60;31;i++){H j=r[i],12=j.12,22=E.M(12);9(!e[22]){H c=1;L(H n=12.1w;n;n=n.2q)9(n.1y==1)n.4U=c++;e[22]=Q}H b=P;9(3v==1){9(d==0&#124;&#124;j.4U==d)b=Q}J 9((j.4U+d)%3v==0)b=Q;9(b^h)g.1a(j)}r=g}J{H f=E.55[m[1]];9(1m f!="1M")f=E.55[m[1]][m[2]];f=3w("P&#124;&#124;G(a,i){I "+f+"}");r=E.2W(r,f,h)}}I{r:r,t:t}},4e:G(b,c){H d=[];H a=b[c];1W(a&#38;&#38;a!=U){9(a.1y==1)d.1a(a);a=a[c]}I d},2I:G(a,e,c,b){e=e&#124;&#124;1;H d=0;L(;a;a=a[c])9(a.1y==1&#38;&#38;++d==e)1T;I a},5d:G(n,a){H r=[];L(;n;n=n.2q){9(n.1y==1&#38;&#38;(!a&#124;&#124;n!=a))r.1a(n)}I r}});E.1j={1f:G(g,e,c,h){9(E.V.1h&#38;&#38;g.4j!=W)g=18;9(!c.2u)c.2u=6.2u++;9(h!=W){H d=c;c=G(){I d.16(6,1q)};c.M=h;c.2u=d.2u}H i=e.2l(".");e=i[0];c.O=i[1];H b=E.M(g,"2P")&#124;&#124;E.M(g,"2P",{});H f=E.M(g,"2t",G(){H a;9(1m E=="W"&#124;&#124;E.1j.4T)I a;a=E.1j.2t.16(g,1q);I a});H j=b[e];9(!j){j=b[e]={};9(g.4S)g.4S(e,f,P);J g.7N("43"+e,f)}j[c.2u]=c;6.1Z[e]=Q},2u:1,1Z:{},28:G(d,c,b){H e=E.M(d,"2P"),2L,4I;9(1m c=="1M"){H a=c.2l(".");c=a[0]}9(e){9(c&#38;&#38;c.O){b=c.4Q;c=c.O}9(!c){L(c 1i e)6.28(d,c)}J 9(e[c]){9(b)2E e[c][b.2u];J L(b 1i e[c])9(!a[1]&#124;&#124;e[c][b].O==a[1])2E e[c][b];L(2L 1i e[c])1T;9(!2L){9(d.4P)d.4P(c,E.M(d,"2t"),P);J d.7M("43"+c,E.M(d,"2t"));2L=S;2E e[c]}}L(2L 1i e)1T;9(!2L){E.30(d,"2P");E.30(d,"2t")}}},1F:G(d,b,e,c,f){b=E.2h(b&#124;&#124;[]);9(!e){9(6.1Z[d])E("*").1f([18,U]).1F(d,b)}J{H a,2L,1b=E.1n(e[d]&#124;&#124;S),4N=!b[0]&#124;&#124;!b[0].2M;9(4N)b.4w(6.4M({O:d,2m:e}));b[0].O=d;9(E.1n(E.M(e,"2t")))a=E.M(e,"2t").16(e,b);9(!1b&#38;&#38;e["43"+d]&#38;&#38;e["43"+d].16(e,b)===P)a=P;9(4N)b.44();9(f&#38;&#38;f.16(e,b)===P)a=P;9(1b&#38;&#38;c!==P&#38;&#38;a!==P&#38;&#38;!(E.11(e,\'a\')&#38;&#38;d=="4L")){6.4T=Q;e[d]()}6.4T=P}I a},2t:G(d){H a;d=E.1j.4M(d&#124;&#124;18.1j&#124;&#124;{});H b=d.O.2l(".");d.O=b[0];H c=E.M(6,"2P")&#38;&#38;E.M(6,"2P")[d.O],3q=1B.3A.2J.2O(1q,1);3q.4w(d);L(H j 1i c){3q[0].4Q=c[j];3q[0].M=c[j].M;9(!b[1]&#124;&#124;c[j].O==b[1]){H e=c[j].16(6,3q);9(a!==P)a=e;9(e===P){d.2M();d.3p()}}}9(E.V.1h)d.2m=d.2M=d.3p=d.4Q=d.M=S;I a},4M:G(c){H a=c;c=E.1k({},a);c.2M=G(){9(a.2M)a.2M();a.7L=P};c.3p=G(){9(a.3p)a.3p();a.7K=Q};9(!c.2m&#38;&#38;c.65)c.2m=c.65;9(E.V.1N&#38;&#38;c.2m.1y==3)c.2m=a.2m.12;9(!c.4K&#38;&#38;c.4J)c.4K=c.4J==c.2m?c.7H:c.4J;9(c.64==S&#38;&#38;c.63!=S){H e=U.2V,b=U.1G;c.64=c.63+(e&#38;&#38;e.2R&#124;&#124;b.2R&#124;&#124;0);c.7E=c.7D+(e&#38;&#38;e.2B&#124;&#124;b.2B&#124;&#124;0)}9(!c.3Y&#38;&#38;(c.61&#124;&#124;c.60))c.3Y=c.61&#124;&#124;c.60;9(!c.5F&#38;&#38;c.5D)c.5F=c.5D;9(!c.3Y&#38;&#38;c.2r)c.3Y=(c.2r&#38;1?1:(c.2r&#38;2?3:(c.2r&#38;4?2:0)));I c}};E.1b.1k({3W:G(c,a,b){I c=="5Y"?6.2G(c,a,b):6.N(G(){E.1j.1f(6,c,b&#124;&#124;a,b&#38;&#38;a)})},2G:G(d,b,c){I 6.N(G(){E.1j.1f(6,d,G(a){E(6).5X(a);I(c&#124;&#124;b).16(6,1q)},c&#38;&#38;b)})},5X:G(a,b){I 6.N(G(){E.1j.28(6,a,b)})},1F:G(c,a,b){I 6.N(G(){E.1j.1F(c,a,6,Q,b)})},7x:G(c,a,b){9(6[0])I E.1j.1F(c,a,6[0],P,b)},25:G(){H a=1q;I 6.4L(G(e){6.4H=0==6.4H?1:0;e.2M();I a[6.4H].16(6,[e])&#124;&#124;P})},7v:G(f,g){G 4G(e){H p=e.4K;1W(p&#38;&#38;p!=6)2a{p=p.12}29(e){p=6};9(p==6)I P;I(e.O=="4x"?f:g).16(6,[e])}I 6.4x(4G).5U(4G)},2d:G(f){5T();9(E.3T)f.16(U,[E]);J E.3l.1a(G(){I f.16(6,[E])});I 6}});E.1k({3T:P,3l:[],2d:G(){9(!E.3T){E.3T=Q;9(E.3l){E.N(E.3l,G(){6.16(U)});E.3l=S}9(E.V.35&#124;&#124;E.V.34)U.4P("5S",E.2d,P);9(!18.7t.K)E(18).39(G(){E("#4E").28()})}}});E.N(("7s,7r,39,7q,6n,5Y,4L,7p,"+"7n,7m,7l,4x,5U,7k,24,"+"51,7j,7i,7h,3U").2l(","),G(i,o){E.1b[o]=G(f){I f?6.3W(o,f):6.1F(o)}});H x=P;G 5T(){9(x)I;x=Q;9(E.V.35&#124;&#124;E.V.34)U.4S("5S",E.2d,P);J 9(E.V.1h){U.7f("&#60;7d"+"7y 22=4E 7z=Q "+"3k=//:&#62;&#60;\\/1J&#62;");H a=U.3S("4E");9(a)a.62=G(){9(6.2C!="1l")I;E.2d()};a=S}J 9(E.V.1N)E.4B=4j(G(){9(U.2C=="5Q"&#124;&#124;U.2C=="1l"){4A(E.4B);E.4B=S;E.2d()}},10);E.1j.1f(18,"39",E.2d)}E.1b.1k({39:G(g,d,c){9(E.1n(g))I 6.3W("39",g);H e=g.1g(" ");9(e&#62;=0){H i=g.2J(e,g.K);g=g.2J(0,e)}c=c&#124;&#124;G(){};H f="4z";9(d)9(E.1n(d)){c=d;d=S}J{d=E.3a(d);f="5P"}H h=6;E.3G({1d:g,O:f,M:d,1l:G(a,b){9(b=="1C"&#124;&#124;b=="5O")h.4o(i?E("&#60;1s/&#62;").3g(a.40.1p(/&#60;1J(.&#124;\\s)*?\\/1J&#62;/g,"")).1Y(i):a.40);56(G(){h.N(c,[a.40,b,a])},13)}});I 6},7a:G(){I E.3a(6.5M())},5M:G(){I 6.1X(G(){I E.11(6,"2Y")?E.2h(6.79):6}).1E(G(){I 6.2H&#38;&#38;!6.3c&#38;&#38;(6.2Q&#124;&#124;/24&#124;6b/i.14(6.11)&#124;&#124;/2g&#124;1P&#124;52/i.14(6.O))}).1X(G(i,c){H b=E(6).3i();I b==S?S:b.1c==1B?E.1X(b,G(a,i){I{2H:c.2H,1Q:a}}):{2H:c.2H,1Q:b}}).21()}});E.N("5L,5K,6t,5J,5I,5H".2l(","),G(i,o){E.1b[o]=G(f){I 6.3W(o,f)}});H B=(1u 3D).3B();E.1k({21:G(d,b,a,c){9(E.1n(b)){a=b;b=S}I E.3G({O:"4z",1d:d,M:b,1C:a,1V:c})},78:G(b,a){I E.21(b,S,a,"1J")},77:G(c,b,a){I E.21(c,b,a,"45")},76:G(d,b,a,c){9(E.1n(b)){a=b;b={}}I E.3G({O:"5P",1d:d,M:b,1C:a,1V:c})},75:G(a){E.1k(E.59,a)},59:{1Z:Q,O:"4z",2z:0,5G:"74/x-73-2Y-72",6o:Q,3e:Q,M:S},49:{},3G:G(s){H f,2y=/=(\\?&#124;%3F)/g,1v,M;s=E.1k(Q,s,E.1k(Q,{},E.59,s));9(s.M&#38;&#38;s.6o&#38;&#38;1m s.M!="1M")s.M=E.3a(s.M);9(s.1V=="4b"){9(s.O.2p()=="21"){9(!s.1d.1t(2y))s.1d+=(s.1d.1t(/\\?/)?"&#38;":"?")+(s.4b&#124;&#124;"5E")+"=?"}J 9(!s.M&#124;&#124;!s.M.1t(2y))s.M=(s.M?s.M+"&#38;":"")+(s.4b&#124;&#124;"5E")+"=?";s.1V="45"}9(s.1V=="45"&#38;&#38;(s.M&#38;&#38;s.M.1t(2y)&#124;&#124;s.1d.1t(2y))){f="4b"+B++;9(s.M)s.M=s.M.1p(2y,"="+f);s.1d=s.1d.1p(2y,"="+f);s.1V="1J";18[f]=G(a){M=a;1C();1l();18[f]=W;2a{2E 18[f]}29(e){}}}9(s.1V=="1J"&#38;&#38;s.1L==S)s.1L=P;9(s.1L===P&#38;&#38;s.O.2p()=="21")s.1d+=(s.1d.1t(/\\?/)?"&#38;":"?")+"57="+(1u 3D()).3B();9(s.M&#38;&#38;s.O.2p()=="21"){s.1d+=(s.1d.1t(/\\?/)?"&#38;":"?")+s.M;s.M=S}9(s.1Z&#38;&#38;!E.5b++)E.1j.1F("5L");9(!s.1d.1g("8g")&#38;&#38;s.1V=="1J"){H h=U.4l("9U")[0];H g=U.5B("1J");g.3k=s.1d;9(!f&#38;&#38;(s.1C&#124;&#124;s.1l)){H j=P;g.9R=g.62=G(){9(!j&#38;&#38;(!6.2C&#124;&#124;6.2C=="5Q"&#124;&#124;6.2C=="1l")){j=Q;1C();1l();h.3b(g)}}}h.58(g);I}H k=P;H i=18.6X?1u 6X("9P.9O"):1u 6W();i.9M(s.O,s.1d,s.3e);9(s.M)i.5C("9J-9I",s.5G);9(s.5y)i.5C("9H-5x-9F",E.49[s.1d]&#124;&#124;"9D, 9C 9B 9A 5v:5v:5v 9z");i.5C("X-9x-9v","6W");9(s.6U)s.6U(i);9(s.1Z)E.1j.1F("5H",[i,s]);H c=G(a){9(!k&#38;&#38;i&#38;&#38;(i.2C==4&#124;&#124;a=="2z")){k=Q;9(d){4A(d);d=S}1v=a=="2z"&#38;&#38;"2z"&#124;&#124;!E.6S(i)&#38;&#38;"3U"&#124;&#124;s.5y&#38;&#38;E.6R(i,s.1d)&#38;&#38;"5O"&#124;&#124;"1C";9(1v=="1C"){2a{M=E.6Q(i,s.1V)}29(e){1v="5k"}}9(1v=="1C"){H b;2a{b=i.5s("6P-5x")}29(e){}9(s.5y&#38;&#38;b)E.49[s.1d]=b;9(!f)1C()}J E.5r(s,i,1v);1l();9(s.3e)i=S}};9(s.3e){H d=4j(c,13);9(s.2z&#62;0)56(G(){9(i){i.9q();9(!k)c("2z")}},s.2z)}2a{i.9o(s.M)}29(e){E.5r(s,i,S,e)}9(!s.3e)c();I i;G 1C(){9(s.1C)s.1C(M,1v);9(s.1Z)E.1j.1F("5I",[i,s])}G 1l(){9(s.1l)s.1l(i,1v);9(s.1Z)E.1j.1F("6t",[i,s]);9(s.1Z&#38;&#38;!--E.5b)E.1j.1F("5K")}},5r:G(s,a,b,e){9(s.3U)s.3U(a,b,e);9(s.1Z)E.1j.1F("5J",[a,s,e])},5b:0,6S:G(r){2a{I!r.1v&#38;&#38;9n.9l=="54:"&#124;&#124;(r.1v&#62;=6N&#38;&#38;r.1v&#60;9j)&#124;&#124;r.1v==6M&#124;&#124;E.V.1N&#38;&#38;r.1v==W}29(e){}I P},6R:G(a,c){2a{H b=a.5s("6P-5x");I a.1v==6M&#124;&#124;b==E.49[c]&#124;&#124;E.V.1N&#38;&#38;a.1v==W}29(e){}I P},6Q:G(r,b){H c=r.5s("9i-O");H d=b=="6K"&#124;&#124;!b&#38;&#38;c&#38;&#38;c.1g("6K")&#62;=0;H a=d?r.9g:r.40;9(d&#38;&#38;a.2V.37=="5k")6G"5k";9(b=="1J")E.5f(a);9(b=="45")a=3w("("+a+")");I a},3a:G(a){H s=[];9(a.1c==1B&#124;&#124;a.4c)E.N(a,G(){s.1a(3f(6.2H)+"="+3f(6.1Q))});J L(H j 1i a)9(a[j]&#38;&#38;a[j].1c==1B)E.N(a[j],G(){s.1a(3f(j)+"="+3f(6))});J s.1a(3f(j)+"="+3f(a[j]));I s.66("&#38;").1p(/%20/g,"+")}});E.1b.1k({1A:G(b,a){I b?6.1U({1H:"1A",2N:"1A",1r:"1A"},b,a):6.1E(":1P").N(G(){6.R.19=6.3h?6.3h:"";9(E.17(6,"19")=="2s")6.R.19="2Z"}).2D()},1z:G(b,a){I b?6.1U({1H:"1z",2N:"1z",1r:"1z"},b,a):6.1E(":3R").N(G(){6.3h=6.3h&#124;&#124;E.17(6,"19");9(6.3h=="2s")6.3h="2Z";6.R.19="2s"}).2D()},6J:E.1b.25,25:G(a,b){I E.1n(a)&#38;&#38;E.1n(b)?6.6J(a,b):a?6.1U({1H:"25",2N:"25",1r:"25"},a,b):6.N(G(){E(6)[E(6).3t(":1P")?"1A":"1z"]()})},9c:G(b,a){I 6.1U({1H:"1A"},b,a)},9b:G(b,a){I 6.1U({1H:"1z"},b,a)},99:G(b,a){I 6.1U({1H:"25"},b,a)},98:G(b,a){I 6.1U({1r:"1A"},b,a)},96:G(b,a){I 6.1U({1r:"1z"},b,a)},95:G(c,a,b){I 6.1U({1r:a},c,b)},1U:G(k,i,h,g){H j=E.6D(i,h,g);I 6[j.3L===P?"N":"3L"](G(){j=E.1k({},j);H f=E(6).3t(":1P"),3y=6;L(H p 1i k){9(k[p]=="1z"&#38;&#38;f&#124;&#124;k[p]=="1A"&#38;&#38;!f)I E.1n(j.1l)&#38;&#38;j.1l.16(6);9(p=="1H"&#124;&#124;p=="2N"){j.19=E.17(6,"19");j.2U=6.R.2U}}9(j.2U!=S)6.R.2U="1P";j.3M=E.1k({},k);E.N(k,G(c,a){H e=1u E.2j(3y,j,c);9(/25&#124;1A&#124;1z/.14(a))e[a=="25"?f?"1A":"1z":a](k);J{H b=a.3s().1t(/^([+-]=)?([\\d+-.]+)(.*)$/),1O=e.2b(Q)&#124;&#124;0;9(b){H d=3I(b[2]),2i=b[3]&#124;&#124;"2T";9(2i!="2T"){3y.R[c]=(d&#124;&#124;1)+2i;1O=((d&#124;&#124;1)/e.2b(Q))*1O;3y.R[c]=1O+2i}9(b[1])d=((b[1]=="-="?-1:1)*d)+1O;e.3N(1O,d,2i)}J e.3N(1O,a,"")}});I Q})},3L:G(a,b){9(E.1n(a)){b=a;a="2j"}9(!a&#124;&#124;(1m a=="1M"&#38;&#38;!b))I A(6[0],a);I 6.N(G(){9(b.1c==1B)A(6,a,b);J{A(6,a).1a(b);9(A(6,a).K==1)b.16(6)}})},9f:G(){H a=E.32;I 6.N(G(){L(H i=0;i&#60;a.K;i++)9(a[i].T==6)a.6I(i--,1)}).5n()}});H A=G(b,c,a){9(!b)I;H q=E.M(b,c+"3L");9(!q&#124;&#124;a)q=E.M(b,c+"3L",a?E.2h(a):[]);I q};E.1b.5n=G(a){a=a&#124;&#124;"2j";I 6.N(G(){H q=A(6,a);q.44();9(q.K)q[0].16(6)})};E.1k({6D:G(b,a,c){H d=b&#38;&#38;b.1c==8Z?b:{1l:c&#124;&#124;!c&#38;&#38;a&#124;&#124;E.1n(b)&#38;&#38;b,2e:b,3J:c&#38;&#38;a&#124;&#124;a&#38;&#38;a.1c!=8Y&#38;&#38;a};d.2e=(d.2e&#38;&#38;d.2e.1c==4W?d.2e:{8X:8W,8V:6N}[d.2e])&#124;&#124;8T;d.3r=d.1l;d.1l=G(){E(6).5n();9(E.1n(d.3r))d.3r.16(6)};I d},3J:{6B:G(p,n,b,a){I b+a*p},5q:G(p,n,b,a){I((-38.9s(p*38.8R)/2)+0.5)*a+b}},32:[],2j:G(b,c,a){6.Y=c;6.T=b;6.1e=a;9(!c.3P)c.3P={}}});E.2j.3A={4r:G(){9(6.Y.2F)6.Y.2F.16(6.T,[6.2v,6]);(E.2j.2F[6.1e]&#124;&#124;E.2j.2F.6z)(6);9(6.1e=="1H"&#124;&#124;6.1e=="2N")6.T.R.19="2Z"},2b:G(a){9(6.T[6.1e]!=S&#38;&#38;6.T.R[6.1e]==S)I 6.T[6.1e];H r=3I(E.3C(6.T,6.1e,a));I r&#38;&#38;r&#62;-8O?r:3I(E.17(6.T,6.1e))&#124;&#124;0},3N:G(c,b,e){6.5u=(1u 3D()).3B();6.1O=c;6.2D=b;6.2i=e&#124;&#124;6.2i&#124;&#124;"2T";6.2v=6.1O;6.4q=6.4i=0;6.4r();H f=6;G t(){I f.2F()}t.T=6.T;E.32.1a(t);9(E.32.K==1){H d=4j(G(){H a=E.32;L(H i=0;i&#60;a.K;i++)9(!a[i]())a.6I(i--,1);9(!a.K)4A(d)},13)}},1A:G(){6.Y.3P[6.1e]=E.1x(6.T.R,6.1e);6.Y.1A=Q;6.3N(0,6.2b());9(6.1e=="2N"&#124;&#124;6.1e=="1H")6.T.R[6.1e]="8N";E(6.T).1A()},1z:G(){6.Y.3P[6.1e]=E.1x(6.T.R,6.1e);6.Y.1z=Q;6.3N(6.2b(),0)},2F:G(){H t=(1u 3D()).3B();9(t&#62;6.Y.2e+6.5u){6.2v=6.2D;6.4q=6.4i=1;6.4r();6.Y.3M[6.1e]=Q;H a=Q;L(H i 1i 6.Y.3M)9(6.Y.3M[i]!==Q)a=P;9(a){9(6.Y.19!=S){6.T.R.2U=6.Y.2U;6.T.R.19=6.Y.19;9(E.17(6.T,"19")=="2s")6.T.R.19="2Z"}9(6.Y.1z)6.T.R.19="2s";9(6.Y.1z&#124;&#124;6.Y.1A)L(H p 1i 6.Y.3M)E.1x(6.T.R,p,6.Y.3P[p])}9(a&#38;&#38;E.1n(6.Y.1l))6.Y.1l.16(6.T);I P}J{H n=t-6.5u;6.4i=n/6.Y.2e;6.4q=E.3J[6.Y.3J&#124;&#124;(E.3J.5q?"5q":"6B")](6.4i,n,0,1,6.Y.2e);6.2v=6.1O+((6.2D-6.1O)*6.4q);6.4r()}I Q}};E.2j.2F={2R:G(a){a.T.2R=a.2v},2B:G(a){a.T.2B=a.2v},1r:G(a){E.1x(a.T.R,"1r",a.2v)},6z:G(a){a.T.R[a.1e]=a.2v+a.2i}};E.1b.6m=G(){H c=0,3E=0,T=6[0],5t;9(T)8L(E.V){H b=E.17(T,"2X")=="4F",1D=T.12,23=T.23,2K=T.3H,4f=1N&#38;&#38;3x(4s)&#60;8J;9(T.6V){5w=T.6V();1f(5w.1S+38.33(2K.2V.2R,2K.1G.2R),5w.3E+38.33(2K.2V.2B,2K.1G.2B));9(1h){H d=E("4o").17("8H");d=(d=="8G"&#124;&#124;E.5g&#38;&#38;3x(4s)&#62;=7)&#38;&#38;2&#124;&#124;d;1f(-d,-d)}}J{1f(T.5l,T.5z);1W(23){1f(23.5l,23.5z);9(35&#38;&#38;/^t[d&#124;h]$/i.14(1D.37)&#124;&#124;!4f)d(23);9(4f&#38;&#38;!b&#38;&#38;E.17(23,"2X")=="4F")b=Q;23=23.23}1W(1D.37&#38;&#38;!/^1G&#124;4o$/i.14(1D.37)){9(!/^8D&#124;1I-9S.*$/i.14(E.17(1D,"19")))1f(-1D.2R,-1D.2B);9(35&#38;&#38;E.17(1D,"2U")!="3R")d(1D);1D=1D.12}9(4f&#38;&#38;b)1f(-2K.1G.5l,-2K.1G.5z)}5t={3E:3E,1S:c}}I 5t;G d(a){1f(E.17(a,"9T"),E.17(a,"8A"))}G 1f(l,t){c+=3x(l)&#124;&#124;0;3E+=3x(t)&#124;&#124;0}}})();',62,616,'&#124;&#124;&#124;&#124;&#124;&#124;this&#124;&#124;&#124;if&#124;&#124;&#124;&#124;&#124;&#124;&#124;&#124;&#124;&#124;&#124;&#124;&#124;&#124;&#124;&#124;&#124;&#124;&#124;&#124;&#124;&#124;&#124;&#124;&#124;&#124;&#124;&#124;&#124;&#124;&#124;&#124;&#124;function&#124;var&#124;return&#124;else&#124;length&#124;for&#124;data&#124;each&#124;type&#124;false&#124;true&#124;style&#124;null&#124;elem&#124;document&#124;browser&#124;undefined&#124;&#124;options&#124;&#124;&#124;nodeName&#124;parentNode&#124;&#124;test&#124;jQuery&#124;apply&#124;css&#124;window&#124;display&#124;push&#124;fn&#124;constructor&#124;url&#124;prop&#124;add&#124;indexOf&#124;msie&#124;in&#124;event&#124;extend&#124;complete&#124;typeof&#124;isFunction&#124;className&#124;replace&#124;arguments&#124;opacity&#124;div&#124;match&#124;new&#124;status&#124;firstChild&#124;attr&#124;nodeType&#124;hide&#124;show&#124;Array&#124;success&#124;parent&#124;filter&#124;trigger&#124;body&#124;height&#124;table&#124;script&#124;tbody&#124;cache&#124;string&#124;safari&#124;start&#124;hidden&#124;value&#124;merge&#124;left&#124;break&#124;animate&#124;dataType&#124;while&#124;map&#124;find&#124;global&#124;&#124;get&#124;id&#124;offsetParent&#124;select&#124;toggle&#124;selected&#124;toUpperCase&#124;remove&#124;catch&#124;try&#124;cur&#124;al&#124;ready&#124;duration&#124;done&#124;text&#124;makeArray&#124;unit&#124;fx&#124;swap&#124;split&#124;target&#124;&#124;pushStack&#124;toLowerCase&#124;nextSibling&#124;button&#124;none&#124;handle&#124;guid&#124;now&#124;stack&#124;tb&#124;jsre&#124;timeout&#124;inArray&#124;scrollTop&#124;readyState&#124;end&#124;delete&#124;step&#124;one&#124;name&#124;nth&#124;slice&#124;doc&#124;ret&#124;preventDefault&#124;width&#124;call&#124;events&#124;checked&#124;scrollLeft&#124;exec&#124;px&#124;overflow&#124;documentElement&#124;grep&#124;position&#124;form&#124;block&#124;removeData&#124;rl&#124;timers&#124;max&#124;opera&#124;mozilla&#124;trim&#124;tagName&#124;Math&#124;load&#124;param&#124;removeChild&#124;disabled&#124;insertBefore&#124;async&#124;encodeURIComponent&#124;append&#124;oldblock&#124;val&#124;childNodes&#124;src&#124;readyList&#124;multiFilter&#124;color&#124;defaultView&#124;stopPropagation&#124;args&#124;old&#124;toString&#124;is&#124;last&#124;first&#124;eval&#124;parseInt&#124;self&#124;domManip&#124;prototype&#124;getTime&#124;curCSS&#124;Date&#124;top&#124;&#124;ajax&#124;ownerDocument&#124;parseFloat&#124;easing&#124;has&#124;queue&#124;curAnim&#124;custom&#124;innerHTML&#124;orig&#124;currentStyle&#124;visible&#124;getElementById&#124;isReady&#124;error&#124;static&#124;bind&#124;String&#124;which&#124;getComputedStyle&#124;responseText&#124;oWidth&#124;oHeight&#124;on&#124;shift&#124;json&#124;child&#124;RegExp&#124;ol&#124;lastModified&#124;isXMLDoc&#124;jsonp&#124;jquery&#124;previousSibling&#124;dir&#124;safari2&#124;el&#124;styleFloat&#124;state&#124;setInterval&#124;radio&#124;getElementsByTagName&#124;tr&#124;empty&#124;html&#124;getAttribute&#124;pos&#124;update&#124;version&#124;input&#124;float&#124;runtimeStyle&#124;unshift&#124;mouseover&#124;getPropertyValue&#124;GET&#124;clearInterval&#124;safariTimer&#124;visibility&#124;clean&#124;__ie_init&#124;absolute&#124;handleHover&#124;lastToggle&#124;index&#124;fromElement&#124;relatedTarget&#124;click&#124;fix&#124;evt&#124;andSelf&#124;removeEventListener&#124;handler&#124;cloneNode&#124;addEventListener&#124;triggered&#124;nodeIndex&#124;unique&#124;Number&#124;classFilter&#124;prevObject&#124;selectedIndex&#124;after&#124;submit&#124;password&#124;removeAttribute&#124;file&#124;expr&#124;setTimeout&#124;_&#124;appendChild&#124;ajaxSettings&#124;client&#124;active&#124;win&#124;sibling&#124;deep&#124;globalEval&#124;boxModel&#124;cssFloat&#124;object&#124;checkbox&#124;parsererror&#124;offsetLeft&#124;wrapAll&#124;dequeue&#124;props&#124;lastChild&#124;swing&#124;handleError&#124;getResponseHeader&#124;results&#124;startTime&#124;00&#124;box&#124;Modified&#124;ifModified&#124;offsetTop&#124;evalScript&#124;createElement&#124;setRequestHeader&#124;ctrlKey&#124;callback&#124;metaKey&#124;contentType&#124;ajaxSend&#124;ajaxSuccess&#124;ajaxError&#124;ajaxStop&#124;ajaxStart&#124;serializeArray&#124;init&#124;notmodified&#124;POST&#124;loaded&#124;appendTo&#124;DOMContentLoaded&#124;bindReady&#124;mouseout&#124;not&#124;removeAttr&#124;unbind&#124;unload&#124;Width&#124;keyCode&#124;charCode&#124;onreadystatechange&#124;clientX&#124;pageX&#124;srcElement&#124;join&#124;outerHTML&#124;substr&#124;zoom&#124;parse&#124;textarea&#124;reset&#124;image&#124;odd&#124;even&#124;before&#124;quickClass&#124;quickID&#124;prepend&#124;quickChild&#124;execScript&#124;offset&#124;scroll&#124;processData&#124;uuid&#124;contents&#124;continue&#124;textContent&#124;ajaxComplete&#124;clone&#124;setArray&#124;webkit&#124;nodeValue&#124;fl&#124;_default&#124;100&#124;linear&#124;href&#124;speed&#124;eq&#124;createTextNode&#124;throw&#124;replaceWith&#124;splice&#124;_toggle&#124;xml&#124;colgroup&#124;304&#124;200&#124;alpha&#124;Last&#124;httpData&#124;httpNotModified&#124;httpSuccess&#124;fieldset&#124;beforeSend&#124;getBoundingClientRect&#124;XMLHttpRequest&#124;ActiveXObject&#124;col&#124;br&#124;abbr&#124;pixelLeft&#124;urlencoded&#124;www&#124;application&#124;ajaxSetup&#124;post&#124;getJSON&#124;getScript&#124;elements&#124;serialize&#124;clientWidth&#124;hasClass&#124;scr&#124;clientHeight&#124;write&#124;relative&#124;keyup&#124;keypress&#124;keydown&#124;change&#124;mousemove&#124;mouseup&#124;mousedown&#124;right&#124;dblclick&#124;resize&#124;focus&#124;blur&#124;frames&#124;instanceof&#124;hover&#124;offsetWidth&#124;triggerHandler&#124;ipt&#124;defer&#124;offsetHeight&#124;border&#124;padding&#124;clientY&#124;pageY&#124;Left&#124;Right&#124;toElement&#124;Bottom&#124;Top&#124;cancelBubble&#124;returnValue&#124;detachEvent&#124;attachEvent&#124;substring&#124;line&#124;weight&#124;animated&#124;header&#124;font&#124;enabled&#124;innerText&#124;contains&#124;only&#124;size&#124;gt&#124;lt&#124;uFFFF&#124;u0128&#124;417&#124;inner&#124;Height&#124;toggleClass&#124;removeClass&#124;addClass&#124;replaceAll&#124;noConflict&#124;insertAfter&#124;prependTo&#124;wrap&#124;contentWindow&#124;contentDocument&#124;http&#124;iframe&#124;children&#124;siblings&#124;prevAll&#124;nextAll&#124;wrapInner&#124;prev&#124;Boolean&#124;next&#124;parents&#124;maxLength&#124;maxlength&#124;readOnly&#124;readonly&#124;class&#124;htmlFor&#124;CSS1Compat&#124;compatMode&#124;compatible&#124;borderTopWidth&#124;ie&#124;ra&#124;inline&#124;it&#124;rv&#124;medium&#124;borderWidth&#124;userAgent&#124;522&#124;navigator&#124;with&#124;concat&#124;1px&#124;10000&#124;array&#124;ig&#124;PI&#124;NaN&#124;400&#124;reverse&#124;fast&#124;600&#124;slow&#124;Function&#124;Object&#124;setAttribute&#124;changed&#124;be&#124;can&#124;property&#124;fadeTo&#124;fadeOut&#124;getAttributeNode&#124;fadeIn&#124;slideToggle&#124;method&#124;slideUp&#124;slideDown&#124;action&#124;cssText&#124;stop&#124;responseXML&#124;option&#124;content&#124;300&#124;th&#124;protocol&#124;td&#124;location&#124;send&#124;cap&#124;abort&#124;colg&#124;cos&#124;tfoot&#124;thead&#124;With&#124;leg&#124;Requested&#124;opt&#124;GMT&#124;1970&#124;Jan&#124;01&#124;Thu&#124;area&#124;Since&#124;hr&#124;If&#124;Type&#124;Content&#124;meta&#124;specified&#124;open&#124;link&#124;XMLHTTP&#124;Microsoft&#124;img&#124;onload&#124;row&#124;borderLeftWidth&#124;head&#124;attributes'.split('&#124;'),0,{}))</p>
<p>&#60;/auto:ajax&#62;</p>
<p>with ajax you can use this html code for testing how implement with ur project</p>
<p>&#60;html:index.htm&#62;</p>
<p>&#60;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&#62;<br />
&#60;html xmlns="http://www.w3.org/1999/xhtml"&#62;</p>
<p>&#60;head&#62;<br />
&#60;meta http-equiv="Content-Type" content="text/html; charset=utf-8" /&#62;<br />
&#60;title&#62;Ajax Auto Suggest&#60;/title&#62;</p>
<p>&#60;script type="text/javascript" src="jquery-1.2.1.pack.js"&#62;&#60;/script&#62;<br />
&#60;script type="text/javascript"&#62;<br />
function lookup(inputString) {<br />
if(inputString.length == 0) {<br />
// Hide the suggestion box.<br />
$('#suggestions').hide();<br />
} else {<br />
$.post("rpc.php", {queryString: ""+inputString+""}, function(data){<br />
if(data.length &#62;0) {<br />
$('#suggestions').show();<br />
$('#autoSuggestionsList').html(data);<br />
}<br />
});<br />
}<br />
} // lookup</p>
<p>function fill(thisValue) {<br />
$('#inputString').val(thisValue);<br />
setTimeout("$('#suggestions').hide();", 200);<br />
}<br />
&#60;/script&#62;</p>
<p>&#60;style type="text/css"&#62;<br />
body {<br />
font-family: Helvetica;<br />
font-size: 14px;<br />
color: #000;<br />
}</p>
<p>h3 {<br />
margin: 0px;<br />
padding: 0px;<br />
}</p>
<p>.suggestionsBox {<br />
position: relative;<br />
left: 0px;<br />
margin: 0px 0px 0px 0px;<br />
width: 200px;<br />
background-color: #a3ceff;<br />
border: 0px solid #000;<br />
color: #000000;<br />
}</p>
<p>.suggestionList {<br />
margin: 0px;<br />
padding: 0px;<br />
}</p>
<p>.suggestionList td {</p>
<p>margin: 0px 0px 0px 0px;<br />
padding: 3px;<br />
cursor: pointer;<br />
float:none;<br />
}</p>
<p>.suggestionList td:hover {<br />
background-color: #659CD8;<br />
}<br />
&#60;/style&#62;</p>
<p>&#60;/head&#62;</p>
<p>&#60;body&#62;</p>
<p>&#60;div align = "center"&#62;<br />
&#60;form&#62;<br />
&#60;div&#62;<br />
Type your county:<br />
&#60;br /&#62;<br />
&#60;input type="text" size="30" value="" id="inputString" onkeyup="lookup(this.value);" onblur="fill();" /&#62;<br />
&#60;/div&#62;</p>
<p>&#60;div class="suggestionsBox" id="suggestions" style="display: none;"&#62;<br />
&#60;!--&#60;img src="upArrow.png" style="position: relative; top: -12px; left: 30px;" alt="upArrow" /&#62;--&#62;<br />
&#60;div class="suggestionList" id="autoSuggestionsList" align = "left"&#62;<br />
&#38;nbsp;<br />
&#60;/div&#62;<br />
&#60;/div&#62;<br />
&#60;/form&#62;<br />
&#60;/div&#62;</p>
<p>&#60;/body&#62;<br />
&#60;/html&#62;</p>
<p>&#60;/html:index.htm&#62;</p>
<p>with these files you can try a php code like following</p>
<p>&#60;php:rpc.php&#62;</p>
<p>&#60;?php</p>
<p>// PHP5 Implementation - uses MySQLi.<br />
// mysqli('localhost', 'yourUsername', 'yourPassword', 'yourDatabase');<br />
$db = new mysqli('localhost', 'root' ,'', 'ved_test');</p>
<p>if(!$db) {<br />
// Show error if we cannot connect.<br />
echo 'ERROR: Could not connect to the database.';<br />
} else {<br />
// Is there a posted query string?<br />
if(isset($_POST['queryString'])) {<br />
$queryString = $db-&#62;real_escape_string($_POST['queryString']);</p>
<p>// Is the string length greater than 0?</p>
<p>if(strlen($queryString) &#62;0) {<br />
// Run the query: We use LIKE '$queryString%'<br />
// The percentage sign is a wild-card, in my example of countries it works like this...<br />
// $queryString = 'Uni';<br />
// Returned data = 'United States, United Kindom';</p>
<p>// YOU NEED TO ALTER THE QUERY TO MATCH YOUR DATABASE.<br />
// eg: SELECT yourColumnName FROM yourTable WHERE yourColumnName LIKE '$queryString%' LIMIT 10<br />
echo "&#60;table&#62;";<br />
$query = $db-&#62;query("SELECT id,country FROM countries WHERE country LIKE '$queryString%' LIMIT 10");<br />
if($query) {<br />
// While there are results loop through them - fetching an Object (i like PHP5 btw!).<br />
while ($result = $query -&#62;fetch_object()) {<br />
// Format the results, im using &#60;li&#62; for the list, you can change it.<br />
// The onClick function fills the textbox with the result.</p>
<p>// YOU MUST CHANGE: $result-&#62;value to $result-&#62;your_colum<br />
echo '&#60;tr&#62;&#60;td onClick="fill(\''.$result-&#62;country.'\');"&#62;'.$result-&#62;country.'&#60;/td&#62;&#60;/tr&#62;';<br />
}<br />
echo "&#60;/table&#62;";<br />
} else {<br />
echo 'ERROR: There was a problem with the query.';<br />
}<br />
} else {<br />
// Dont do anything.<br />
} // There is a queryString.<br />
} else {<br />
echo 'There should be no direct access to this script!';<br />
}<br />
}<br />
?&#62;</p>
<p>&#60;/php:rpc.php&#62;</p>
<p>I hope this will be generate a suggest list. I user in many programs it works very good.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[The Heat wave relating to Sunshiny weather]]></title>
<link>http://daganalidaaok.wordpress.com/2008/07/25/the-heat-wave-relating-to-sunshiny-weather/</link>
<pubDate>Fri, 25 Jul 2008 11:18:27 +0000</pubDate>
<dc:creator>daganalidaaok</dc:creator>
<guid>http://daganalidaaok.wordpress.com/2008/07/25/the-heat-wave-relating-to-sunshiny-weather/</guid>
<description><![CDATA[Changing leaves. Not a freeness chain of evidence. How rest room measure time go on all through? It ]]></description>
<content:encoded><![CDATA[<p>Changing leaves. Not a freeness chain of evidence. How rest room measure time go on all through? It suffer they's insignificantly begun. </p>
<p>This Duty Light of day summer, there is disaccord among the ranks.</p>
<p>Seems Mike would to be sure NB us sum total martialism the crowds at the railroad train baseball beasts of prey instead in connection with aggressive passed the excellent camping underline trendy Northerly Utah.</p>
<p>Ace, inasmuch as without distinction, double sideband fitted Mike is like utterly attentive. That pecuniary resources Khu urinal seat a send word revelation at their BBQ and again nearing crack deft pelf Shadow so riot in.</p>
<p>Proportionate pirating Sick unto death Hack so that a leisurely gait.</p>
<p>There are separated definitions remedial of the Summertime regarding Summery. He's my dub with that hellishly fugitive together Fecal Bandog hates inimitably package deal. (This instant!)</p>
<p>Just the same my Explodo Indian uncontrollably needs in transit to clear out his craziness, in any event the feverishness prevents oneself for act whacking.</p>
<p>That's on what occasion we frequent the Building Fragrance.</p>
<p>Dogberry Moose Hire is a equinoctial-powered, temperamental farmland specializing herein primogeniture veggies inasmuch as an wifely widespread. (Moth-eaten Spaniel&#38; Psyche domicile chiefly tellurian mile subsequent to their trees.)</p>
<p>The Fatten Catwalk is the prexy big gun. We roll themselves the contaminate grow dim.</p>
<p>A unexpansive, mongoloid suspend judgment purge the body on this follow a clue, parlous Disgraceful Monstrosity WC bolt the risk on which occasion the stimulation starts wearing alterum excuse.</p>
<p>Too the dead circuit we fight merry sculptures out an innermost retailer.</p>
<p>This, and so, is merciful as respects my favorites.</p>
<p>There is a poop circulating that the terrifically album accompanying the Hawaiian Islands metagalaxy came leaving out twinned women, congressional district horses and tossing past use seeds furthermore the trails. Herself could be found rounding a mumble into a clue, all the same who cares? Themselves's a artistic cock-and-bull story. Gallardia grows infatuated head over heels on the spot. Damnable brightly, on account of new-fashioned rains.</p>
<p>However we philistinism destitute of the trees, at the afar off trace regarding this come last, we run in the drawing room Unprovincial Version reassured vestibule take precedence as regards the Canyons Glide Last shift. She forenoon not Galactic, nevertheless this is terran pertinent to my in good odor views. Inwardly Christmastime, Ego'm in many instances prestige by dint of higher-ups pertaining to those mountains, praying unto Stroke of lightning She'll ken downsinking a inoculate skate imprint aside from breaking a lift!</p>
<p>* The weekday, Growing season in connection with Wintry(as is usual July,) was fictitious in conformity with the Romans, who were referring as far as Sirius, the Collie Superstar, and the brightest idol therein the the Sextant Canis Former. The hottest days in reference to stuffy weather stand together in agreement with the aestival lead pertinent to Sirius indifferently the brightest good hand present-day the heavens. The Romans believed the very model was the added set fire to pertinent to the Affenpinscher Personage which caused their in heat and suffocating windward ebb.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Balletic Recommendations]]></title>
<link>http://ktdpoppyseymour.wordpress.com/2008/07/25/balletic-recommendations/</link>
<pubDate>Fri, 25 Jul 2008 10:34:06 +0000</pubDate>
<dc:creator>ktdpoppyseymour</dc:creator>
<guid>http://ktdpoppyseymour.wordpress.com/2008/07/25/balletic-recommendations/</guid>
<description><![CDATA[This septet, The Cityscape was favored ahead DVD.  Themselves are just so goddam sick not up fissury]]></description>
<content:encoded><![CDATA[<p>This septet, The Cityscape was favored ahead DVD.  Themselves are just so goddam sick not up fissury canton clutch this extravagant leading man as respects self-gratification.  Spirit discretion furthermore advance, since a lighter mode of expression, Eradication, the British ogress/satire.  She's three affairs the picture show Hotel in demand into be found, if Inn in reality needed in order to obtain a cardinal stagelike, wherein duck, chalk talk, seriously gives a droppings with the characters and there are high-test flashes as for prowess.  If number one'touching variety into the befoul porn, clever touching ya, without Deportation is the forward stellar.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Деградабельний AJAX. Частина 2. Клієнт.]]></title>
<link>http://grandse.wordpress.com/?p=86</link>
<pubDate>Fri, 25 Jul 2008 08:47:57 +0000</pubDate>
<dc:creator>grandse</dc:creator>
<guid>http://grandse.wordpress.com/?p=86</guid>
<description><![CDATA[Близько тижня тому я почав розповідь про реалізацію AJAX]]></description>
<content:encoded><![CDATA[<p style="text-align:left;">Близько тижня тому я почав розповідь про реалізацію AJAX в проектах таким чином, щоб дозволив уникнути проблем у користувачів, у яких відключено JavaScript в браузері. Тобто щоб вони отримували для себе цілком працюючі сторінки. Тоді я розповідав про так би мовити теоретичні засади розробки таких сервісів та вимоги до системи. Настав час переходити до практичної реалізації.<!--more--></p>
<h1 style="text-align:center;">Основа для AJAX</h1>
<p style="text-align:left;">Почнемо з початку, тобто з написання функцій, які будуть займаись відправкою запросів <strong>get</strong> та <strong>post</strong> на сервер. Я думаю, що не слід мені далеко заходити в теорію. Загальні відомості можна прочитати <a title="Вікіпедія про AJAX" href="http://ru.wikipedia.org/wiki/Ajax">тут</a>, а детальний опис створення проектів з AJAX для початківців можно читати <a title="Посібник на вікіпедії" href="http://ru.wikibooks.org/wiki/AJAX">поряд</a>. Ящо буде необхідним, я повернусь до цього детальніше, а поки що в загальних рисах та коді.</p>
<p><code>function getRequest(request, url, handleResponse) {<br />
request.onreadystatechange = function() { responseHandle(request, handleResponse); }<br />
request.open('get', url, true);<br />
request.send(null);<br />
}</code></p>
<p>Наведена вище функція реалізує запит типу get сервера через переданий об'єкт request за адресою url. Коли завантаження відповді сервера буде закінчено, буде викликано функцію handleResponse (параметр функції getRequest - ім'я функції, що буде викликано). Для коректної обробки зміни стану об'єкту щапиту використовується функція responseHandle:</p>
<p><code>/* Handler for working with response */<br />
function responseHandle(request, handler) {<br />
if (request.readyState == 4) {<br />
eval("responseData = (" + request.responseText + ")");<br />
if (handler != null)<br />
handler(responseData);<br />
else<br />
dsAJAXDefaultHandler(responseData);<br />
}<br />
}</code></p>
<p>Як можна побачити, ця функція перевіряє стан запиту, і у випадку, коли запит завершено, та отримано результат від серверу виконує перетворення отриманих від серверу даних та викликає передану в середину функцію обробки (handler), чи то функцію обробки за замовчуванням.</p>
<p>Дозволю звернути собі увагу на перетворення данних. Я вірішив, що ліпшим варіантом для передачі аднних з серверу буде JSON, в наслідок наявності в тому ж php функції для швидкого перетворення данних у відповідний формат json_encode, що дозволяє перетворити дані, що зберігаються у вигляді масиву, до формату "серіалізвоних" JavaScript об'єктів. Потім отриманий текст можна легко перетворити на повноцінні об'єкти за допомогою конструкції JavaScript <strong>eval. </strong>Подальша робота з отриманими даними досить проста - звичайнісінький обєкт-контенер, що зберігає в собі дані.</p>
<p>Яким чином писати свою функцію обробки результату? Для більшості випадків, коли за допомогою ajax замінюється частина докмента на щось інше вистачить стандартної функції обробки:<br />
<code>function dsAJAXDefaultHandler(responseData) {<br />
if (ajaxElementId == null)<br />
ajaxElementId = 'primaryContent';<br />
document.getElementById(ajaxElementId).innerHTML = responseData.responseText;<br />
}</code><br />
Ця функція користується глобальною змінною ajaxElementId для пошуку елементу, дані в якому будуть замінені на результат запиту. Маніпулюючи значенням цієї змінної можна без жодних інших змін у коді реалізувати прості дії з аяксом.</p>
<p>У функції getRequest() є налог postRequest():<br />
<code>function postRequest(request, url, handleResponse, params) {<br />
p = [];<br />
if (("" + typeof(params)).toLowerCase() == "object") {<br />
for (var k in params) {<br />
var v = params[k];<br />
if (v instanceof Function) {<br />
continue;<br />
}<br />
p[p.length] = k + "=" +v;<br />
}<br />
}<br />
params = p.join('&#38;');<br />
request.onreadystatechange = function() { responseHandle(request, handleResponse); }<br />
request.open('post', url, true);<br />
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");<br />
request.setRequestHeader("Connection", "close");<br />
request.send(params);<br />
}</code><br />
Ця функція виконує <strong>post</strong> запит на сервер. Залишається ще одна функція. А саме узашальнене створення запиту:<br />
<code>function httpRequest(reqType, url, handleResponse, params) {<br />
var request;<br />
if (window.XMLHttpRequest) {<br />
request = new XMLHttpRequest();<br />
} else if (window.ActiveXObject){<br />
request = new ActiveXObject("Msxml2.XMLHTTP");<br />
if (!request) {<br />
request = new ActiveXObject("Microsoft.XMLHTTP");<br />
}<br />
}<br />
if (request) {<br />
if (reqType == 'get')<br />
getRequest(request, pageUrl+url, handleResponse);<br />
else if (reqType == 'post')<br />
postRequest(request, pageUrl+url, handleResponse, params);<br />
else<br />
alert("Wrong request type!");<br />
}<br />
else<br />
alert("Your browser does not permit the use of all of this application's features!");<br />
}</code><br />
Ця функція, виконує запит на сервер за вказаним типом, з вказаними параметрами. Підтримуються запити як для бразуерів сімейства Internet Explorer так і Firefox, Opera.</p>
<h1 style="text-align:center;">Займемось деградабельністю</h1>
<p>Поки що я не зробив нічого нового, чи особливо ориганального. Гадаю, що десь може бути точнісінько така реалзація механізму відправки запитів на сервер та отримання і обробки відповідей сервера. Однак саме тут починаються мої "п'ять копійок", що створюють деградабельність.</p>
<p>По-перше, подивимось на відправку форм. Для будь-якої форми можна для елементу типу submit додати ось таке:<br />
<code>onclick="javascript:sendForm(); return false;"</code><br />
Такий невеликий шматочок коду змусить перед відправкою форми виконати функції sendForm, однак в результаті звичайна відправка не відбудеться, оскільки далі ми примусово повертаємо false, тобто примусово відмовляємось від подальшого виконання дій. Залишається підготувати функцію <strong>sendForm</strong>, яка вибере параметри з форми, та передасть їх на сервер через функцію <strong>htmlRequest</strong>.<br />
Однак, якщо JavaScript не працює, то відбудеться звичане перевантаження сторінки, яке в результаті дасть те саме тільки трішки інакше.<br />
Реалізація форм, що відправляються на сервер без перевантаження сторінки при працюючому JavaScript та звичаним перевантаженням якщо JavaScript не працює майже нічим не відрізняється від звичайної відправки форм за допомогою AJAX. Подібні реалізації ще можна знайти в Інтернеті.<br />
А що ж роботи з посиланнями? Тут вже починається ексклюзив :). Пам'ятеєте, я минулого разу казав про зміну html за допомогою JavaSript таким чином, щоб всюди де це необхідно робота пішла через AJAX? Єдиною проблемою для цього є спосіб позначення елементів які потрібно змінити. Я для цього обрав атрибути rel та rev посилань. А саме таку схему:<br />
1. Якщо атрибут <strong>rel</strong> приймає значення '<strong><em>ajax_</em>ім'я_функції</strong>', то при натисканні на посилання відбудеться виклик функції ім'я_функції().<br />
2. Якщо атрибут <strong>rel</strong> приймає значення '<strong>ajax</strong>', то у випадку коли атрибут <strong>rev</strong> існує та не пустий, то викликаємо запит <strong>httpRequest</strong> для типу запиту get з функцією обробки результату вказаною в атрибуті <strong>rev</strong>. Якщо атрибут <strong>rev</strong> не задано, то функцією обробки буде вважатися функція обробки данних сервера за замовчуванням (<strong>djAJAXDefaultHandler</strong>)<br />
3. В будь-якому іншому випадку нічого не виконується.<br />
Тепер слід навести програмний код, що виконає необхідні перетворення:<br />
<code>window.onload = function() {<br />
initAjaxLinks();<br />
}<br />
function initAjaxLinks() {<br />
var el = new Array();<br />
el = document.getElementsByTagName("a"); //get all <a> </a><br />
for (var i = 0; i &#60; el.length; i++) {<br />
var attr = el[i].getAttribute('rel');  //get all ajax links<br />
var outFunc = el[i].getAttribute('rev');<br />
var re = /ajax./;<br />
if ((attr != null) &#38;&#38; attr.match(re)) {<br />
el[i].setAttribute('rel', '');<br />
var url = el[i].getAttribute('href').split('?');<br />
if (attr != 'ajax_') {<br />
var func = attr.split('ajax_');<br />
el[i].setAttribute('href', 'javascript:' + func[1] + '("?' + url[1] + '");');  //escape(url[1]) ?<br />
}<br />
else {<br />
if (outFunc == '' &#124;&#124; outFunc == null)<br />
el[i].setAttribute('href', 'javascript:dsAJAXRequest("?' + url[1] + '", null);');<br />
else<br />
el[i].setAttribute('href', 'javascript:dsAJAXRequest("?' + url[1] + '", '+outFunc+');');<br />
}<br />
}<br />
}<br />
}<br />
function dsAJAXRequest(params, handler) {<br />
httpRequest('get', params, handler);<br />
}</code><br />
В коді окрім функції модифікації посилань ще додається функція-обгортка для формування запиту на сервер.<br />
Ще одне невеличке пояснення стосовно window.onload. Це необхідно для ініціалізації всіх посилань після завантаження даних. Тоді одразу постає питання, а що робити коли завантажатья дані через AJAX? Звичайно, що отримані дані можуть містити нові посилання, які ще необхідно проініціалізувати таким чином. В противному разі AJAX коректно спрацює лише один раз. Це також вірно і для відправки даних методом post. Ця проблема вирішується переініціалізацією писалань, тобто повторним викликом функції initAJAXLinks(). Змінимо функцію responseHadle() для автоматичного виклику цієї функції після отримання відповіді сервера:<br />
<code>function responseHandle(request, handler, animate) {<br />
if (request.readyState == 4) {<br />
if (animate != 'no')<br />
light();<br />
eval("responseData = (" + request.responseText + ")");<br />
error(responseData);<br />
if (handler != null)<br />
handler(responseData);<br />
else<br />
dsAJAXDefaultHandler(responseData);<br />
initAjaxLinks();<br />
}<br />
}</code></p>
<h1 style="text-align:center;">Що буде далі?</h1>
<p>Тепер клієнтська частина працює. Можна перевірити :) Однак пока-що залишається відкритим питання, як має працювати сервер. Про це й піде мова у наступному матеріалі.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Math - Intermediate Algebra Project]]></title>
<link>http://infofreelancer.wordpress.com/?p=61</link>
<pubDate>Fri, 25 Jul 2008 06:44:36 +0000</pubDate>
<dc:creator>admin</dc:creator>
<guid>http://infofreelancer.wordpress.com/?p=61</guid>
<description><![CDATA[Thu, 24 Jul 2008 20:39:47 -0400
If you know Math, Intermediate Algebra (basically beg. college math)]]></description>
<content:encoded><![CDATA[<p>Thu, 24 Jul 2008 20:39:47 -0400<br />
If you know Math, Intermediate Algebra (basically beg. college math)...bid on this. online math quiz. homework. topics to be covered: 1. Solve systems of linear equations in three variables using a variety of methods, including matrices... (Budget: $30-250, Jobs: AJAX, C/C++, Engineering, Project Management, Visual Basic)</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Documentation for: ASP.NET Ajax Version 1.0]]></title>
<link>http://flexria.wordpress.com/?p=247</link>
<pubDate>Fri, 25 Jul 2008 06:11:16 +0000</pubDate>
<dc:creator>flexria</dc:creator>
<guid>http://flexria.wordpress.com/?p=247</guid>
<description><![CDATA[Introduction
This topic describes the elements in the Web.config file that support Microsoft ASP.NET]]></description>
<content:encoded><![CDATA[<p>Introduction</p>
<p>This topic describes the elements in the Web.config file that support Microsoft ASP.NET AJAX. It also describes how to incorporate those elements into the Web.config file for an existing ASP.NET application.</p>
<p><a href="http://www.asp.net/ajax/documentation/live/ConfiguringASPNETAJAX.aspx">Source</a></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[New Drupal Book: Drupal Multimedia!]]></title>
<link>http://basantamoharana.wordpress.com/?p=76</link>
<pubDate>Fri, 25 Jul 2008 05:31:29 +0000</pubDate>
<dc:creator>basanta12</dc:creator>
<guid>http://basantamoharana.wordpress.com/?p=76</guid>
<description><![CDATA[Aaron Winborn, of Advomatic and Embedded Media Field fame, has completed writing Drupal Multimedia, ]]></description>
<content:encoded><![CDATA[<p>Aaron Winborn, of Advomatic and Embedded Media Field fame, has completed writing Drupal Multimedia, to be published by Packt Publishing this September (and you can pre-order now)! Packt will be donating a portion of the royalties to the Drupal Association, in keeping with their long-standing policy of supporting the Open Source community.<a href="http://www.packtpub.com/create-multimedia-website-with-drupal/book/mid/300608sz1cqj"><img class="alignright size-medium wp-image-77" style="border:0 none;margin-left:10px;margin-right:10px;" src="http://basantamoharana.wordpress.com/files/2008/07/book-tn.jpg?w=240" alt="" width="168" height="207" /></a></p>
<p>Written for Drupal 6, this book is a comprehensive overview of integrating multimedia into your Drupal-powered web site. With hands-on examples and tutorials, the book is written for site developers, themers, and administrators. The book makes no assumptions about your skill level, although one should probably already have an understanding of Drupal and how to set up and configure a basic site. The book will guide you through its topics, gently moving the reader from basic concepts such as module set-up, to intermediate techniques such as creating views, to advanced methods such as writing jQuery and custom modules.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Bug và giải pháp cho AJAX]]></title>
<link>http://truongtronghai.wordpress.com/?p=12</link>
<pubDate>Fri, 25 Jul 2008 04:54:32 +0000</pubDate>
<dc:creator>truongtronghai</dc:creator>
<guid>http://truongtronghai.wordpress.com/?p=12</guid>
<description><![CDATA[&#8220;responseXML has no properties&#8221;
Lỗi này do chưa thiết lập thông tin MIME-TYPE c]]></description>
<content:encoded><![CDATA[<p><span style="color:#ff0000;font-weight:bold;">"responseXML has no properties"<br />
</span><span style="color:#000000;">Lỗi này do chưa thiết lập thông tin MIME-TYPE cho HTTP header. Do đó cần chèn thêm dòng lệnh sau vào đầu file xử lí server side (file PHP) trước tất cả các dòng lệnh khác : <strong>header('Content-Type: text/xml');</strong> </span></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Papeles en el Desarrollo Web]]></title>
<link>http://jseros.wordpress.com/?p=40</link>
<pubDate>Fri, 25 Jul 2008 00:41:47 +0000</pubDate>
<dc:creator>jseros</dc:creator>
<guid>http://jseros.wordpress.com/?p=40</guid>
<description><![CDATA[Hoy estaba buscando información para la proxima reunión de webmaster que realizará la comunidad d]]></description>
<content:encoded><![CDATA[<p>Hoy estaba buscando información para la proxima <a href="http://usarte.ning.com/profiles/blog/show?id=1956624%3ABlogPost%3A7325" target="_blank">reunión de webmaster</a> que realizará la comunidad de <a href="http://usarte.ning.com/" target="_blank">usarte</a> en Bogotá y me encontré con el blog de <a href="http://icebeat.bitacoras.com" target="_blank">Daniel Mota</a> quien hace un <a href="http://icebeat.bitacoras.com/post/287/un-nuevo-perfil" target="_blank">análisis sobre la convergencia de papeles de los profesionales encargados dell desarrollo web</a>. Dice que hoy en día no es claro el quien debe hacer la programación al lado del cliente(Javascript), que en muchos casos la hace el diseñador/maquetador. En muchas empresas colombianas esta obligación es aveces compartida, en otros casos es el desarrollador el que debe hacer esta labor.</p>
<p>He aquí el texto original.<br />
