<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>
<channel>
	<title>Comments on: Half an IP address and the fix for the Yahoo Search API 999 error</title>
	<atom:link href="http://www.affiliatesonfire.com/web-hosting/half-an-ip-address-and-the-fix-for-the-yahoo-search-api-999-error/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.affiliatesonfire.com/web-hosting/half-an-ip-address-and-the-fix-for-the-yahoo-search-api-999-error/</link>
	<description>Just another WordPress weblog</description>
	<pubDate>Sat, 31 Jul 2010 22:10:11 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Jonathan</title>
		<link>http://www.affiliatesonfire.com/web-hosting/half-an-ip-address-and-the-fix-for-the-yahoo-search-api-999-error/comment-page-1/#comment-940</link>
		<dc:creator>Jonathan</dc:creator>
		<pubDate>Sat, 21 Mar 2009 17:26:04 +0000</pubDate>
		<guid isPermaLink="false">http://www.affiliatesonfire.com/?p=55#comment-940</guid>
		<description>James and mmfoscar - thanks for leaving a comment - glad it helped!!</description>
		<content:encoded><![CDATA[<p>James and mmfoscar - thanks for leaving a comment - glad it helped!!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: mmfoscar</title>
		<link>http://www.affiliatesonfire.com/web-hosting/half-an-ip-address-and-the-fix-for-the-yahoo-search-api-999-error/comment-page-1/#comment-676</link>
		<dc:creator>mmfoscar</dc:creator>
		<pubDate>Tue, 24 Feb 2009 17:42:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.affiliatesonfire.com/?p=55#comment-676</guid>
		<description>Great bug tracking (Y)

Thanks a lot for the post.</description>
		<content:encoded><![CDATA[<p>Great bug tracking (Y)</p>
<p>Thanks a lot for the post.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: James</title>
		<link>http://www.affiliatesonfire.com/web-hosting/half-an-ip-address-and-the-fix-for-the-yahoo-search-api-999-error/comment-page-1/#comment-674</link>
		<dc:creator>James</dc:creator>
		<pubDate>Tue, 24 Feb 2009 12:47:50 +0000</pubDate>
		<guid isPermaLink="false">http://www.affiliatesonfire.com/?p=55#comment-674</guid>
		<description>Hi Jonathan,

Well done for finding the solution.  I had a feeling it could be the User Agent but I had it set at Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0) which, after a few calls, gave the dreaded 999 response.  Your user agent fixed it.  Cheers!</description>
		<content:encoded><![CDATA[<p>Hi Jonathan,</p>
<p>Well done for finding the solution.  I had a feeling it could be the User Agent but I had it set at Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0) which, after a few calls, gave the dreaded 999 response.  Your user agent fixed it.  Cheers!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonathan</title>
		<link>http://www.affiliatesonfire.com/web-hosting/half-an-ip-address-and-the-fix-for-the-yahoo-search-api-999-error/comment-page-1/#comment-551</link>
		<dc:creator>Jonathan</dc:creator>
		<pubDate>Sun, 18 Jan 2009 23:55:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.affiliatesonfire.com/?p=55#comment-551</guid>
		<description>Ryan - no problem - glad it helped!</description>
		<content:encoded><![CDATA[<p>Ryan - no problem - glad it helped!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonathan</title>
		<link>http://www.affiliatesonfire.com/web-hosting/half-an-ip-address-and-the-fix-for-the-yahoo-search-api-999-error/comment-page-1/#comment-550</link>
		<dc:creator>Jonathan</dc:creator>
		<pubDate>Sun, 18 Jan 2009 23:55:28 +0000</pubDate>
		<guid isPermaLink="false">http://www.affiliatesonfire.com/?p=55#comment-550</guid>
		<description>Hemachander, you have a lot of functionality in this one file.  I suggest you break it down and output the raw results you're getting back from the call - including the HTTP code to see what's going on.</description>
		<content:encoded><![CDATA[<p>Hemachander, you have a lot of functionality in this one file.  I suggest you break it down and output the raw results you&#8217;re getting back from the call - including the HTTP code to see what&#8217;s going on.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ryan</title>
		<link>http://www.affiliatesonfire.com/web-hosting/half-an-ip-address-and-the-fix-for-the-yahoo-search-api-999-error/comment-page-1/#comment-505</link>
		<dc:creator>Ryan</dc:creator>
		<pubDate>Sat, 10 Jan 2009 15:07:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.affiliatesonfire.com/?p=55#comment-505</guid>
		<description>Thanks, this saved me a ton of time troubleshooting this bug!</description>
		<content:encoded><![CDATA[<p>Thanks, this saved me a ton of time troubleshooting this bug!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Hemachander</title>
		<link>http://www.affiliatesonfire.com/web-hosting/half-an-ip-address-and-the-fix-for-the-yahoo-search-api-999-error/comment-page-1/#comment-498</link>
		<dc:creator>Hemachander</dc:creator>
		<pubDate>Thu, 08 Jan 2009 16:58:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.affiliatesonfire.com/?p=55#comment-498</guid>
		<description>I got same problem for backlinks using yahoo api. It does not returns any results through php code but when i try in browser with the yahoo api url it works and it returns default 50 urls.
Please have a look my code and suggest or correct my code. Thank you.


&lt;code&gt;



Link Text Explorer




#sortby {
	display:none;
	}







Logged in as &lt;b&gt;&lt;/b&gt; &#124; &lt;a href="/tools/logout.php" rel="nofollow"&gt;Logout&lt;/a&gt;



	Location: 

	&lt;a href="http://217.34.144.114/tools/index.php" rel="nofollow"&gt;Tools&lt;/a&gt;
	 &gt; 
	&lt;a href="http://217.34.144.114/tools/backlinks/index.php" rel="nofollow"&gt;Backlinks&lt;/a&gt;
	 &gt; 
	Link Text Explorer		
 &lt;!-- end breadcrumbs --&gt;


	
	
	
 &lt;!-- end mast --&gt;

Link Text Explorer
The &lt;b&gt;title&lt;/b&gt;, &lt;b&gt;link text&lt;/b&gt; and number of &lt;b&gt;external links&lt;/b&gt; is retrieved from each page, together with the &lt;b&gt;page PageRank&lt;/b&gt; and &lt;b&gt;domain PageRank&lt;/b&gt; (if required).



	&lt;form action="" method="get"&gt;
	
	URL&lt;input type="text" name="query" size="60" value="" /&gt;
	Results
	
	
		&lt;option value="" &gt;
	
		
	
	PageRank
	&lt;input type="checkbox" name="pagepr" id="page"  /&gt;Page&#160;
	&lt;input type="checkbox" name="domainpr" id="domain" /&gt;Domain
		
	
	
	


&lt;?php

function get_html ($url) {
	$html = "";
	$timeout = 10;
	ini_set('user_agent','Mozilla: (compatible; Windows XP)');
	$old = ini_set('default_socket_timeout', $timeout);
	$fh = fopen($url, 'r');
	if ($fh) {
		ini_set('default_socket_timeout', $old);
		stream_set_timeout($fh, $timeout);
		stream_set_blocking($fh, 0);
		while (! feof($fh)) {
			$html .= fread($fh, 4096);
		}
		fclose($fh);
		return $html;
	} else {
		return 0;
	}
}

function get_pageinfo($url, $query) {
	$html = get_html ($url);
	if ($html) {
		$pageinfo['success'] = 1;	
		$html = preg_replace('/\n/', ' ', $html);
		$pattern  = '#&lt;a&gt;#im';
		preg_match_all($pattern, $html, $matches);
		$pageinfo['ExternalLinks'] = 0;
		$linktext = "";
		if ($matches) {
			foreach ($matches[0] as $match) {
				if ( preg_match("#$query#i", $match) ) {
					$text = "";
					if ( preg_match('#&lt;img#im', $match) ) {
						$text .= "[IMG]";
						if ( preg_match('#alt\s*=\s*"(.*?)"#im', $match, $alt) ) {
							$text .= " $alt[1]";
						}
					} else {
						$text = strip_tags($match);
					}
					$pageinfo['LinkText'] = $text;
				}
				if ( preg_match("#http://#i", $match) ) {
					$pageinfo['ExternalLinks']++;
				}			
			}
		}
	} else {
		$pageinfo['success'] = 0;
	}
	return $pageinfo;
}

if ( isset($_GET['query']) ) {

	require_once ('pagerank2.php');
?&gt;
Results
Notes

[IMG] denotes link is an image. The text following is the ALT text.
[X] denotes the page could not be loaded.

&lt;?php

	flush();
	
	echo "&lt;b&gt;$query&lt;/b&gt; has a PageRank of &lt;b&gt;".trim(getrank($query))."&lt;/b&gt;.\n";
	flush();
	#mryahoodemo
	$params = array( "appid" =&gt; "mryahoodemo",
					"query" =&gt; $query,
					"results" =&gt; $num,
					"start" =&gt; $start,
					"omit_inlinks" =&gt; "domain"
				);
				
	$request = "";
	foreach ($params as $param =&gt; $value) {
		$request .= "$param=$value&amp;";
	}

	$yahoo_api ="http://api.search.yahoo.com/WebSearchService/V1/webSearch?";
	#$yahoo_api="http://search.yahooapis.com/SiteExplorerService/V1/inlinkData?";
	#$yahoo_api = "http://api.search.yahoo.com/SiteExplorerService/V1/inlinkData?";
	$ResultSet = simplexml_load_file ( urlencode($yahoo_api.$request) );
	
	if ($ResultSet) {
	
		$totalResultsAvailable = $ResultSet['totalResultsAvailable'];
		$totalResultsReturned = $ResultSet['totalResultsReturned'];
		$firstResultPosition = $ResultSet['firstResultPosition'];
		$lastResultPosition = $firstResultPosition + $params['results'] - 1;
	
		if ($totalResultsReturned &gt; $totalResultsAvailable) {
			$lastResultPosition = $totalResultsAvailable;
		}

		echo "Results &lt;b&gt;$firstResultPosition - $lastResultPosition&lt;/b&gt; of about &lt;b&gt;".number_format($totalResultsAvailable)."&lt;/b&gt; for &lt;b&gt;$query&lt;/b&gt;.\n";
?&gt;


&lt;b&gt;Sort by: &lt;/b&gt;&#160;
#&#160;
External Links&#160;

Page PageRank&#160;


Domain PageRank






	
	#
	URL
	
	Visit
	Title
	Link Text
	External Links
	
	Page PageRank
	
	
	Domain PageRank
	
	


Result as $Result) {
		
		

			// InLinks
			$Title = $Result-&gt;Title;
			$Url = $Result-&gt;Url;
			$ClickUrl = $Result-&gt;ClickUrl;

			// PageInfo
			$PageInfo = get_pageinfo($Url, $query);
			if ($PageInfo['success']) {
				$success = "";
			} else {
				$success = "[X]";
			}
			
			// Link Text
			$LinkText = "";
			if ($PageInfo['success']) {
				if (isset($PageInfo['LinkText'])) {
					$LinkText = $PageInfo['LinkText'];
				} else {
					$LinkText = "[NULL]";
				}
			}						
			if ($LinkText != "[NULL]") {

				if (++$count%2) { $class = "even"; } else {	$class = "odd"; }
				echo "";				
				echo "".$count."\n";
				echo "".preg_replace('#^http://#', '', wordwrap($Url, 25, " ", 1))."";
				echo "".$success."";
				echo "&lt;a&gt;[visit]&lt;/a&gt;";
				echo "".$Title."";
				
				// External Links
				$ExternalLinks = $PageInfo['ExternalLinks'];			
				echo "".$LinkText."";
				echo "".$ExternalLinks."";
				
				// Page PageRank
				 if ($pagepr) { 
					$PageRank = getrank($Url);
					if (!isset($PageRank)) {$PageRank = 0;}
					echo "".$PageRank."";
				}
	
				// Domain PageRank			
				 if ($domainpr) { 
					$domain_array = explode("/", preg_replace('#^http[s]*://#', '', $Url));
					$domain = $domain_array[0];
					$PageRank2 = getrank($domain);
					if (!isset($PageRank2)) {$PageRank2 = 0;}
					echo "".$PageRank2."";
				}			
				flush();
				
			}
		}
?&gt;



var results = new SortableTable(document.getElementById("results_table"),
["Number", "CaseInsensitiveString", "CaseInsensitiveString", "CaseInsensitiveString","CaseInsensitiveString", "CaseInsensitiveString", "Number", "Number", "Number"]);
document.getElementById("sortby").style.display = "block";
document.getElementById("progress").style.display = "none";

function addClassName(el, sClassName) {
	var s = el.className;
	var p = s.split(" ");
	var l = p.length;
	for (var i = 0; i &lt; l; i++) {
		if (p[i] == sClassName)
			return;
	}
	p[p.length] = sClassName;
	el.className = p.join(" ").replace( /(^\s+)&#124;(\s+$)/g, "" );
}

function removeClassName(el, sClassName) {
	var s = el.className;
	var p = s.split(" ");
	var np = [];
	var l = p.length;
	var j = 0;
	for (var i = 0; i &lt; l; i++) {
		if (p[i] != sClassName)
			np[j++] = p[i];
	}
	el.className = np.join(" ").replace( /(^\s+)&#124;(\s+$)/g, "" );
}

results.onsort = function () {
	var rows = this.tBody.rows;
	var l = rows.length;
	for (var i = 0; i &lt; l; i++) {
		removeClassName(rows[i], i % 2 ? "even" : "odd");
		addClassName(rows[i], i % 2 ? "odd" : "even");
	}
};







	&#169; Intelligent Positioning
 &lt;!-- end footer --&gt;&lt;/code&gt;

</description>
		<content:encoded><![CDATA[<p>I got same problem for backlinks using yahoo api. It does not returns any results through php code but when i try in browser with the yahoo api url it works and it returns default 50 urls.<br />
Please have a look my code and suggest or correct my code. Thank you.</p>
<p><code></p>
<p>Link Text Explorer</p>
<p>#sortby {<br />
	display:none;<br />
	}</p>
<p>Logged in as <b></b> | <a href="/tools/logout.php" rel="nofollow">Logout</a></p>
<p>	Location: </p>
<p>	<a href="http://217.34.144.114/tools/index.php" rel="nofollow">Tools</a><br />
	 &gt;<br />
	<a href="http://217.34.144.114/tools/backlinks/index.php" rel="nofollow">Backlinks</a><br />
	 &gt;<br />
	Link Text Explorer<br />
 <!-- end breadcrumbs --></p>
<p> <!-- end mast --></p>
<p>Link Text Explorer<br />
The <b>title</b>, <b>link text</b> and number of <b>external links</b> is retrieved from each page, together with the <b>page PageRank</b> and <b>domain PageRank</b> (if required).</p>
<p>	&lt;form action=&#8221;" method=&#8221;get&#8221;&gt;</p>
<p>	URL&lt;input type=&#8221;text&#8221; name=&#8221;query&#8221; size=&#8221;60&#8243; value=&#8221;" /&gt;<br />
	Results</p>
<p>		&lt;option value=&#8221;" &gt;</p>
<p>	PageRank<br />
	&lt;input type=&#8221;checkbox&#8221; name=&#8221;pagepr&#8221; id=&#8221;page&#8221;  /&gt;Page&nbsp;<br />
	&lt;input type=&#8221;checkbox&#8221; name=&#8221;domainpr&#8221; id=&#8221;domain&#8221; /&gt;Domain</p>
<p>&lt;?php</p>
<p>function get_html ($url) {<br />
	$html = &#8220;&#8221;;<br />
	$timeout = 10;<br />
	ini_set(&#8217;user_agent&#8217;,'Mozilla: (compatible; Windows XP)&#8217;);<br />
	$old = ini_set(&#8217;default_socket_timeout&#8217;, $timeout);<br />
	$fh = fopen($url, &#8216;r&#8217;);<br />
	if ($fh) {<br />
		ini_set(&#8217;default_socket_timeout&#8217;, $old);<br />
		stream_set_timeout($fh, $timeout);<br />
		stream_set_blocking($fh, 0);<br />
		while (! feof($fh)) {<br />
			$html .= fread($fh, 4096);<br />
		}<br />
		fclose($fh);<br />
		return $html;<br />
	} else {<br />
		return 0;<br />
	}<br />
}</p>
<p>function get_pageinfo($url, $query) {<br />
	$html = get_html ($url);<br />
	if ($html) {<br />
		$pageinfo['success'] = 1;<br />
		$html = preg_replace(&#8217;/\n/&#8217;, &#8216; &#8216;, $html);<br />
		$pattern  = &#8216;#<a>#im&#8217;;<br />
		preg_match_all($pattern, $html, $matches);<br />
		$pageinfo['ExternalLinks'] = 0;<br />
		$linktext = &#8220;&#8221;;<br />
		if ($matches) {<br />
			foreach ($matches[0] as $match) {<br />
				if ( preg_match(&#8221;#$query#i&#8221;, $match) ) {<br />
					$text = &#8220;&#8221;;<br />
					if ( preg_match(&#8217;#&lt;img#im&#8217;, $match) ) {<br />
						$text .= &#8220;[IMG]&#8220;;<br />
						if ( preg_match(&#8217;#alt\s*=\s*&#8221;(.*?)&#8221;#im&#8217;, $match, $alt) ) {<br />
							$text .= &#8221; $alt[1]&#8220;;<br />
						}<br />
					} else {<br />
						$text = strip_tags($match);<br />
					}<br />
					$pageinfo['LinkText'] = $text;<br />
				}<br />
				if ( preg_match(&#8221;#http://#i&#8221;, $match) ) {<br />
					$pageinfo['ExternalLinks']++;<br />
				}<br />
			}<br />
		}<br />
	} else {<br />
		$pageinfo['success'] = 0;<br />
	}<br />
	return $pageinfo;<br />
}</p>
<p>if ( isset($_GET['query']) ) {</p>
<p>	require_once (&#8217;pagerank2.php&#8217;);<br />
?&gt;<br />
Results<br />
Notes</p>
<p>[IMG] denotes link is an image. The text following is the ALT text.<br />
[X] denotes the page could not be loaded.</p>
<p>&lt;?php</p>
<p>	flush();</p>
<p>	echo &#8220;<b>$query</b> has a PageRank of <b>&#8220;.trim(getrank($query)).&#8221;</b>.\n&#8221;;<br />
	flush();<br />
	#mryahoodemo<br />
	$params = array( &#8220;appid&#8221; =&gt; &#8220;mryahoodemo&#8221;,<br />
					&#8220;query&#8221; =&gt; $query,<br />
					&#8220;results&#8221; =&gt; $num,<br />
					&#8220;start&#8221; =&gt; $start,<br />
					&#8220;omit_inlinks&#8221; =&gt; &#8220;domain&#8221;<br />
				);</p>
<p>	$request = &#8220;&#8221;;<br />
	foreach ($params as $param =&gt; $value) {<br />
		$request .= &#8220;$param=$value&amp;&#8221;;<br />
	}</p>
<p>	$yahoo_api =&#8221;http://api.search.yahoo.com/WebSearchService/V1/webSearch?&#8221;;<br />
	#$yahoo_api=&#8221;http://search.yahooapis.com/SiteExplorerService/V1/inlinkData?&#8221;;<br />
	#$yahoo_api = &#8220;http://api.search.yahoo.com/SiteExplorerService/V1/inlinkData?&#8221;;<br />
	$ResultSet = simplexml_load_file ( urlencode($yahoo_api.$request) );</p>
<p>	if ($ResultSet) {</p>
<p>		$totalResultsAvailable = $ResultSet['totalResultsAvailable'];<br />
		$totalResultsReturned = $ResultSet['totalResultsReturned'];<br />
		$firstResultPosition = $ResultSet['firstResultPosition'];<br />
		$lastResultPosition = $firstResultPosition + $params['results'] - 1;</p>
<p>		if ($totalResultsReturned &gt; $totalResultsAvailable) {<br />
			$lastResultPosition = $totalResultsAvailable;<br />
		}</p>
<p>		echo &#8220;Results <b>$firstResultPosition - $lastResultPosition</b> of about <b>&#8220;.number_format($totalResultsAvailable).&#8221;</b> for <b>$query</b>.\n&#8221;;<br />
?&gt;</p>
<p><b>Sort by: </b>&nbsp;<br />
#&nbsp;<br />
External Links&nbsp;</p>
<p>Page PageRank&nbsp;</p>
<p>Domain PageRank</p>
<p>	#<br />
	URL</p>
<p>	Visit<br />
	Title<br />
	Link Text<br />
	External Links</p>
<p>	Page PageRank</p>
<p>	Domain PageRank</p>
<p>Result as $Result) {</p>
<p>			// InLinks<br />
			$Title = $Result-&gt;Title;<br />
			$Url = $Result-&gt;Url;<br />
			$ClickUrl = $Result-&gt;ClickUrl;</p>
<p>			// PageInfo<br />
			$PageInfo = get_pageinfo($Url, $query);<br />
			if ($PageInfo['success']) {<br />
				$success = &#8220;&#8221;;<br />
			} else {<br />
				$success = &#8220;[X]&#8220;;<br />
			}</p>
<p>			// Link Text<br />
			$LinkText = &#8220;&#8221;;<br />
			if ($PageInfo['success']) {<br />
				if (isset($PageInfo['LinkText'])) {<br />
					$LinkText = $PageInfo['LinkText'];<br />
				} else {<br />
					$LinkText = &#8220;[NULL]&#8220;;<br />
				}<br />
			}<br />
			if ($LinkText != &#8220;[NULL]&#8220;) {</p>
<p>				if (++$count%2) { $class = &#8220;even&#8221;; } else {	$class = &#8220;odd&#8221;; }<br />
				echo &#8220;&#8221;;<br />
				echo &#8220;&#8221;.$count.&#8221;\n&#8221;;<br />
				echo &#8220;&#8221;.preg_replace(&#8217;#^http://#&#8217;, &#8221;, wordwrap($Url, 25, &#8221; &#8220;, 1)).&#8221;";<br />
				echo &#8220;&#8221;.$success.&#8221;";<br />
				echo &#8220;</a><a>[visit]</a>&#8220;;<br />
				echo &#8220;&#8221;.$Title.&#8221;";</p>
<p>				// External Links<br />
				$ExternalLinks = $PageInfo['ExternalLinks'];<br />
				echo &#8220;&#8221;.$LinkText.&#8221;";<br />
				echo &#8220;&#8221;.$ExternalLinks.&#8221;";</p>
<p>				// Page PageRank<br />
				 if ($pagepr) {<br />
					$PageRank = getrank($Url);<br />
					if (!isset($PageRank)) {$PageRank = 0;}<br />
					echo &#8220;&#8221;.$PageRank.&#8221;";<br />
				}</p>
<p>				// Domain PageRank<br />
				 if ($domainpr) {<br />
					$domain_array = explode(&#8221;/&#8221;, preg_replace(&#8217;#^http[s]*://#&#8217;, &#8221;, $Url));<br />
					$domain = $domain_array[0];<br />
					$PageRank2 = getrank($domain);<br />
					if (!isset($PageRank2)) {$PageRank2 = 0;}<br />
					echo &#8220;&#8221;.$PageRank2.&#8221;";<br />
				}<br />
				flush();</p>
<p>			}<br />
		}<br />
?&gt;</p>
<p>var results = new SortableTable(document.getElementById(&#8221;results_table&#8221;),<br />
["Number", "CaseInsensitiveString", "CaseInsensitiveString", "CaseInsensitiveString","CaseInsensitiveString", "CaseInsensitiveString", "Number", "Number", "Number"]);<br />
document.getElementById(&#8221;sortby&#8221;).style.display = &#8220;block&#8221;;<br />
document.getElementById(&#8221;progress&#8221;).style.display = &#8220;none&#8221;;</p>
<p>function addClassName(el, sClassName) {<br />
	var s = el.className;<br />
	var p = s.split(&#8221; &#8220;);<br />
	var l = p.length;<br />
	for (var i = 0; i &lt; l; i++) {<br />
		if (p[i] == sClassName)<br />
			return;<br />
	}<br />
	p[p.length] = sClassName;<br />
	el.className = p.join(&#8221; &#8220;).replace( /(^\s+)|(\s+$)/g, &#8220;&#8221; );<br />
}</p>
<p>function removeClassName(el, sClassName) {<br />
	var s = el.className;<br />
	var p = s.split(&#8221; &#8220;);<br />
	var np = [];<br />
	var l = p.length;<br />
	var j = 0;<br />
	for (var i = 0; i &lt; l; i++) {<br />
		if (p[i] != sClassName)<br />
			np[j++] = p[i];<br />
	}<br />
	el.className = np.join(&#8221; &#8220;).replace( /(^\s+)|(\s+$)/g, &#8220;&#8221; );<br />
}</p>
<p>results.onsort = function () {<br />
	var rows = this.tBody.rows;<br />
	var l = rows.length;<br />
	for (var i = 0; i &lt; l; i++) {<br />
		removeClassName(rows[i], i % 2 ? &#8220;even&#8221; : &#8220;odd&#8221;);<br />
		addClassName(rows[i], i % 2 ? &#8220;odd&#8221; : &#8220;even&#8221;);<br />
	}<br />
};</p>
<p>	&copy; Intelligent Positioning<br />
 <!-- end footer --></code></p>
]]></content:encoded>
	</item>
</channel>
</rss>
