<search function="yy">
  <name>My Yahoo!</name>
  <category>News</category>
  <contributor>Shawn K. Hall</contributor>
  <email>Shawn[@]ReliableAnswers.com</email>
  <description>Login to My Yahoo
  <div class="helpboxDescLabels">Example:</div>
  <table class="helpboxDescTable">
    <tr><td>yy</td></tr>
    <tr><td>yy myid</td></tr>
    <tr><td>yy myotherid</td></tr>
  </table>
  <div class="helpboxDescLabels">Profiles:</div>
  <table class="helpboxDescTable">
    <tr><td>yyid = Array('user', 'pwd', 'http://groups.yahoo.com/');</td></tr>
    <tr><td>yy2  = Array('user2', 'pwd2', 'http://my.yahoo.com/');</td></tr>
    <tr><td>yy3  = Array('user3', 'pwd3', 'http://games.yahoo.com/');</td></tr>
    <tr><td>yy4  = Array('user3', 'pwd3');</td></tr>
  </table>
  <div class="helpboxDescLabels">Variables:</div>
  <table class="helpboxDescTable">
    <tr><td>yyid</td><td>An array storing a user and password 
	profile for Yahoo! The third parameter to the array is the address to visit once you're logged
	in.<br />
	You SHOULD provide the <em>yyid()</em> variable, however, you may also provide as many other 
	profiles as necessary to account for your Yahoo ID's. If you were to create a 'second' profile 
	you would need only to pass the variable name on the command line: <br />
	<strong>yy yy2</strong><br />
	or<br />
	<strong>yy yy3</strong><br />
	These variables are, however, case sensitive. If the variable passed does not exist (misspelled, 
	incorrect case...), this search will 'default' to using the <em>yyid</em> variable.</td></tr>
  </table>
  </description>
  <link>http://my.yahoo.com/</link>
  <comment>
    This is pretty spiffy, eh?
  </comment>
  <form name="yyf" method="post" action="https://login.yahoo.com/config/login?">
	<input type="hidden" name=".tries" value="1" />
	<input type="hidden" name=".src" value="" />
	<input type="hidden" name=".md5" value="" />
	<input type="hidden" name=".hash" value="" />
	<input type="hidden" name=".js" value="" />
	<input type="hidden" name=".last" value="" />
	<input type="hidden" name="promo" value="" />
	<input type="hidden" name=".intl" value="us" />
	<input type="hidden" name=".bypass" value="" />
	<input type="hidden" name=".partner" value="" />
	<input type="hidden" name=".u" value="" />
	<input type="hidden" name=".v" value="0" />
	<input type="hidden" name=".challenge" value="" />
	<input type="hidden" name=".yplus" value="" />
	<input type="hidden" name=".emailCode" value="" />
	<input type="hidden" name="pkg" value="" />
	<input type="hidden" name="stepid" value="" />
	<input type="hidden" name=".ev" value="" />
	<input type="hidden" name="hasMsgr" value="0" />
	<input type="hidden" name=".chkP" value="Y" />
	<input type="hidden" name=".done" value="http://my.yahoo.com" />
	<input type="hidden" name=".pd" value="" />
	<input type="hidden" name="login" value="" />
	<input type="hidden" name="passwd" value="" />
	<input type="hidden" name=".persistent" value="y" />
	<input type="hidden" name=".save" value="Sign In" />
  </form>
  <script><![CDATA[
    function yy(q){
	if (q == "?"){qsfind("yy /function"); return false;}
	var yyids = Array("",""); if (typeof yyid != "undefined") yyids = yyid;
	try{
	  if (q != "") eval("var yyids = " + q + ";");
	}catch(e){
	  var yyids = Array("",""); if (typeof yyid != "undefined") yyids = yyid;
	}
	try{
	  sUrl = "https://login.yahoo.com/config/login?";
	  var xmlHttp = new ActiveXObject("Microsoft.XmlHttp");
	  xmlHttp.open("GET", sUrl, false);
	  xmlHttp.send("");
	  var sBody = xmlHttp.responseText;
	  yyfsupport(sBody, /.tries"\svalue\="([^"]+)"\>/g , ".tries");
	  yyfsupport(sBody, /.src"\svalue\="([^"]+)"\>/g , ".src");
	  yyfsupport(sBody, /.md5"\svalue\="([^"]+)"\>/g , ".md5");
	  yyfsupport(sBody, /.hash"\svalue\="([^"]+)"\>/g , ".hash");
	  yyfsupport(sBody, /.js"\svalue\="([^"]+)"\>/g , ".js");
	  yyfsupport(sBody, /.last"\svalue\="([^"]+)"\>/g , ".last");
	  yyfsupport(sBody, /promo"\svalue\="([^"]+)"\>/g , "promo");
	  yyfsupport(sBody, /.intl"\svalue\="([^"]+)"\>/g , ".intl");
	  yyfsupport(sBody, /.bypass"\svalue\="([^"]+)"\>/g , ".bypass");
	  yyfsupport(sBody, /.partner"\svalue\="([^"]+)"\>/g , ".partner");
	  yyfsupport(sBody, /.u"\svalue\="([^"]+)"\>/g , ".u");
	  yyfsupport(sBody, /.v"\svalue\="([^"]+)"\>/g , ".v");
	  yyfsupport(sBody, /.challenge"\svalue\="([^"]+)"\>/g , ".challenge");
	  yyfsupport(sBody, /.yplus"\svalue\="([^"]+)"\>/g , ".yplus");
	  yyfsupport(sBody, /.emailCode"\svalue\="([^"]+)"\>/g , ".emailCode");
	  yyfsupport(sBody, /pkg"\svalue\="([^"]+)"\>/g , "pkg");
	  yyfsupport(sBody, /stepid"\svalue\="([^"]+)"\>/g , "stepid");
	  yyfsupport(sBody, /.ev"\svalue\="([^"]+)"\>/g , ".ev");
	  yyfsupport(sBody, /hasMsgr"\svalue\="([^"]+)"\>/g , "hasMsgr");
	  yyfsupport(sBody, /.chkP"\svalue\="([^"]+)"\>/g , ".chkP");
	  yyfsupport(sBody, /.done"\svalue\="([^"]+)"\>/g , ".done");
	  yyfsupport(sBody, /.pd"\svalue\="([^"]+)"\>/g , ".pd");

	  document.yyf.login.value = yyids[0];
	  document.yyf.passwd.value = yyids[1];
	  if (yyids.length>1){
	    document.yyf['.done'].value = yyids[2];
	  }
	}catch(e){}
	if (document.yyf['.done'].value=="undefined"){
	  document.yyf['.done'].value = "http://my.yahoo.com/";
	}
	document.yyf.action = "https://login.yahoo.com/config/login?";
	submitForm(yyf);
    }
    function yyfsupport(sBody,rx,fld){
	var r;
	while ((r = rx.exec(sBody)) != null){
	  document.yyf[fld].value = r[1];
	}
    }
  ]]></script>
  <copyright>
  Copyright (c) 2003-2008 Shawn K. Hall
  Distributed under the terms of the GNU Public License, Version 2 (http://www.gnu.org/copyleft/gpl.txt)
  </copyright>
</search>
