<?xml version="1.0" encoding="UTF-8"?>
<Module>
  <ModulePrefs title="DOM Lookup" render_inline="optional" description="HTML DOM Reference lookup.  Enter any term to match against a Method, Objects, Propery or Event." author="km0ti0n" author_email="km0ti0n+DOMLookup@gmail.com" author_location="Berkshire, UK." author_affiliation="#javascript efnet" screenshot="http://km0.la/Goolge/IG/DomLookup/ScreenShot.png" title_url="http://km0.la/Goolge/IG/DomLookup" height="500" width="400">
    <MayRequire type="browser" value="Internet Exploer" min_version="5.5"/>
  </ModulePrefs>
  <UserPref name="bMethods" display_name="Search Methods?" datatype="bool" default_value="true"/>
  <UserPref name="bObjects" display_name="Search Objects?" datatype="bool" default_value="true"/>
  <UserPref name="bProperties" display_name="Search Properties?" datatype="bool" default_value="true"/>
  <UserPref name="bEvents" display_name="Search Events?" datatype="bool" default_value="true"/>
  <Content type="html">
    <![CDATA[
			<style>
			
				#SearchTerm__MODULE_ID__, #SearchButton__MODULE_ID__{ padding:0px; margin:0px; text-align:center; }
				
				#shortDescription__MODULE_ID__ { font-size:.8em; };
				#shortDescription__MODULE_ID__ dt { color:blue; }
				#shortDescription__MODULE_ID__ dd { margin:0px 0px 5px 20px; }
				#footer__MODULE_ID__ { font-size:.6em; margin:0px; text-align:center;}
				
				/*
				#shortDescription__MODULE_ID__ dt.O { color:orange; }
				#shortDescription__MODULE_ID__ dt.P { color:purple; }
				#shortDescription__MODULE_ID__ dt.M { color:magenta; }
				#shortDescription__MODULE_ID__ dt.E { color:red; }*/
				
				
			</style>
		
			<p id="SearchTerm__MODULE_ID__">
				<img src="http://km0.la/Goolge/IG/DomLookup/DOMLookup.png"/>
			</p>
			<p  id="SearchButton__MODULE_ID__">
				<input id="eTerm__MODULE_ID__" type="text" value="" />
				<input type="button" onclick="domsearch__MODULE_ID__()" value="DOM Search" id="eButton__MODULE_ID__"  />
			</p>
		      
		 	<dl id="shortDescription__MODULE_ID__">
			</dl>
			<hr/>
			<p id="footer__MODULE_ID__">v2.0 &copy; 2006 - 2007 <a href="http://km0.la">km0ti0n</a></p>
			<script type="text/javascript">
				
				var prefs__MODULE_ID__			= new _IG_Prefs(__MODULE_ID__);
				var bMethods__MODULE_ID__		= prefs__MODULE_ID__.getBool("bMethods");
				var bObjects__MODULE_ID__		= prefs__MODULE_ID__.getBool("bObjects");
				var bProperties__MODULE_ID__	= prefs__MODULE_ID__.getBool("bProperties");
				var bEvents__MODULE_ID__		= prefs__MODULE_ID__.getBool("bEvents");
				

				function domsearch__MODULE_ID__()
				{
				
					var cVal = document.getElementById("eTerm__MODULE_ID__").value.replace(/ /g, "");
					document.getElementById("eTerm__MODULE_ID__").value = cVal;
					if( cVal.length < 2 ){ alert("Sorry, please use a longer term"); return false; }
					_IG_FetchContent("http://km0.customersonline.co.uk/msdn/dom.asmx/Search?cVal=" + cVal + "&lMethods=" + bMethods__MODULE_ID__ + "&lObjects=" + bObjects__MODULE_ID__ + "&lProperties=" + bProperties__MODULE_ID__ +  "&lEvents=" + bEvents__MODULE_ID__ + "&lSearchDesc=false", domresult__MODULE_ID__);
				}
				function domresult__MODULE_ID__(responseText) 
				{
					var xResult = toDOM__MODULE_ID__( responseText ).responseXML.documentElement.getElementsByTagName("ResultItem")
					var eList = document.getElementById("shortDescription__MODULE_ID__");
					eList = eList.parentNode.replaceChild( eList.cloneNode(false), eList);
					eList = document.getElementById("shortDescription__MODULE_ID__");
					if( xResult.length > 0 )
					{
						for( var i = 0; i < xResult.length; i++ )
						{
							var dt = document.createElement("dt");
							var dd = document.createElement("dd");
				
              var a = document.createElement("a");
              a.href = "http://km0.customersonline.co.uk/msdn/?" + xResult[i].getAttribute("name");

              a.appendChild( document.createTextNode( xResult[i].getAttribute("name") ) );
              a.target = "XAPDOMREF";
              dt.appendChild( a );
							dt.className = xResult[i].getAttribute("type");
							dd.appendChild( document.createTextNode( xResult[i].firstChild.nodeValue ) );
							eList.appendChild(dt); 
							eList.appendChild(dd); 
						}
					}
					else
					{
						eList.innerHTML = "<dt>Sorry no entry found for : <strong>" + document.getElementById("eTerm__MODULE_ID__").value + "</strong></dt><dd>Have you modified your preferences?<dd>"
					}
				}


				
				function toDOM__MODULE_ID__(responseText)
				{
          var xmldom, bComplete = false;
          try
           {
              xmldom = new ActiveXObject("msxml2.DOMDocument.3.0");
              xmldom.async = false;
              xmldom.resolveExternals = false;
              xmldom.loadXML(responseText)
            }
            catch (e) { try
            {
                var oParser = new DOMParser();
                xmldom = oParser.parseFromString(responseText, "text/xml");
            }
            catch (e) { xmldom = false; }}
            if (!xmldom) return null;
            var oResult = {responseXML:xmldom, responseText:responseText};
            
            return oResult;
          }
			</script>
		]]>
  </Content>
</Module>
