title: How to pass a value from code behind to javascript function in WP7
body: <p>I am attempting to implement a search feature for text displayed in a webbrowser control. I have a search function which works correctly to highlight text, although it currently accomplishes this by creating a search bar in javascript in the webbrowser. The problem with this is that depending on the size of the page, the javascript search bar is always a different size, which is very confusing. I would like to be able to pass a search value entered by the user in a textbox in my WP7 application to this javascript function, and then have it simply highlight the values. I do not know how to pass a value to a javascript function though, and I am having much difficulty making this work. </p>
  
  <p>Javascript search function (in a text file)</p>
  
  <pre><code>javascript:(
  function()
  {
  function G()
  {
      var pf=doc.getElementById('pf');
      var qt=doc.getElementById('qt');
      if(null==pf)
      {
          pf=doc.createElement('div');
          pf.id='pf';
          var s=pf.style;
          s.position='absolute';
          s.zIndex='99';
          s.top=(scT||scBT)+'px';
          s.left=(scL||scBL)+'px';
          s.width='100%';
          s.backgroundColor='#FFFF00';
          pf.appendChild(doc.createTextNode('Search: '));
          qt=doc.createElement('input');
          qt.id='qt';
          qt.type='text';
          pf.appendChild(qt);
          var sb=doc.createElement('input');
          sb.type='button';
          sb.value='Find';
          sb.onclick=function()
          {
              P(qt.value)
          };
          pf.appendChild(sb);
          doc.body.appendChild(pf);
      }
      else
      {
          pf.style.display='inline';
          count=0;
      }
  }
  function P(s)
  {
      document.getElementById('pf').style.display='none';
      if(s==='')
          return;
      var n=srchNode(document.body,s.toUpperCase(),s.length);
      alert("Found "+count+" occurrence"+(count==1?"":"s")+" of '"+s+"'.");
      pf.parentNode.removeChild(pf);
      return n;
  }
  function srchNode(node,te,len)
  {
      var pos,skip,spannode,middlebit,endbit,middleclone;
      skip=0;
      if(node.nodeType==3)
      {
          pos=node.data.toUpperCase().indexOf(te);
          if(pos&gt;=0)
          {
              spannode=document.createElement("SPAN");
              spannode.style.backgroundColor="red";
              middlebit=node.splitText(pos);
              endbit=middlebit.splitText(len);
              middleclone=middlebit.cloneNode(true);
              spannode.appendChild(middleclone);
              middlebit.parentNode.replaceChild(spannode,middlebit);
              ++count;
              skip=1;
              }
          }
          else
          {
              if(node.nodeType==1&amp;&amp;node.childNodes&amp;&amp;node.tagName.toUpperCase()!="SCRIPT"&amp;&amp;node.tagName.toUpperCase!="STYLE")
              {
                  for(var child=0;child&lt;node.childNodes.length;++child)
                  {
                      child=child+srchNode(node.childNodes[child],te,len);
                  }
              }
          }
          return skip;
      }
      var count=0,scL=0,scT=0,scBL=0,scBT=0;
      var w=window,doc=document;
      if(typeof doc.body!='undefined'&amp;&amp;typeof doc.body.scrollLeft!='undefined')
      {
          scBL=doc.body.scrollLeft;
          scBT=doc.body.scrollTop;
      }
      if(typeof doc.documentElement!='undefined'&amp;&amp;typeof doc.documentElement.scrollLeft!='undefined')
      {
          scL=doc.documentElement.scrollLeft;
          scT=doc.documentElement.scrollTop;
      }
      G();
  })()
  </code></pre>
  
  <p>Find on Page method</p>
  
  <pre><code>public void FindOnPage()
      {
          var resource = Application.GetResourceStream(new Uri("Resources/FindOnPage/FindOnPage.txt", UriKind.Relative));
          string text;
          StreamReader sr = new StreamReader(resource.Stream);
  
          //while((text = sr.ReadToEnd()) != null) 
          if ((text = sr.ReadToEnd()) != null)
          {
              TheWebBrowser.InvokeScript("eval", text);
          } 
      }
  </code></pre>
  
  <p>Assuming that I had a searchbar named <strong>SearchBar</strong>, how would i pass the text to the user input through the javascript function, so that the text will be highlighted? I have no experience with javascript, so any assistance will be greatly appreciated on the subject!</p>