var current_sp = 0;
var sp =
<searchlist>
  <provider group="1" name="Google">
    <image>imgs/google.png</image>
    <icon>http://search.google.com/favicon.ico</icon>
    <query type="web">http://www.google.com/search?q=</query>
  </provider>
  <provider group="1" name="Yahoo">
    <image>imgs/yahoo.png</image>
    <icon>http://search.yahoo.com/favicon.ico</icon>
    <query type="web">http://search.yahoo.com/search?p=</query>
  </provider>
  <provider group="1" name="Bing">
    <image>imgs/msn.png</image>
    <icon>http://bing.com/favicon.ico</icon>
    <query type="web">http://www.bing.com/search?q=</query>
  </provider>
  <provider group="2" name="SkreemR">
    <image>imgs/SkreemR.png</image>
    <icon>http://skreemr.com/favicon.ico</icon>
    <query type="music">http://skreemr.com/results.jsp?search=SkreemR+Search&amp;q=</query>
  </provider>
  <provider group="2" name="Amazon">
    <image>imgs/AmazonMusic.png</image>
    <icon>http://amazon.com/favicon.ico</icon>
    <query type="music">https://www.amazon.com/gp/associates/link-types/searchbox.html?tag=bibospa-20&amp;mode=digital-music&amp;keyword=</query>
  </provider>
</searchlist>;

function findPosX(obj) {
  var curleft = 0;
  if(obj.offsetParent) {
    while(1) {
      curleft += obj.offsetLeft;
      if(!obj.offsetParent)
        break;
      obj = obj.offsetParent;
    }
  }
  else if(obj.x)
    curleft += obj.x;
  return curleft;
}

function findPosY(obj) {
  var curtop = 0;
  if(obj.offsetParent) {
    while(1) {
      curtop += obj.offsetTop;
      if(!obj.offsetParent)
        break;
      obj = obj.offsetParent;
    }
  }
  else if(obj.y)
    curtop += obj.y;
  return curtop;
}


function do_search()
{
  q = document.getElementById("query");
  if(q.value == "") {
    q.value = "You have to enter a query first.";
    return;
  }
  window.location = sp.provider[current_sp].query[0] + q.value;
}
function showmenu()
{
  m1 = document.getElementById("menu1");
  m2 = document.getElementById("menu2");
  s = document.getElementById("searchproviderbutton");
  m1.style.left = findPosX(s) + "px";
  m1.style.top = findPosY(s) + 20 + "px";
  m1.style.visibility = "visible";
  m2.style.left = findPosX(s) + "px";
  m2.style.top = findPosY(s) - m2.offsetHeight + 1 + "px";
  m2.style.visibility = "visible";
  s.style.opacity = "0.5";
}
function hidemenu()
{
  document.getElementById('menu1').style.visibility = "hidden";
  document.getElementById('menu2').style.visibility = "hidden";
  document.getElementById('searchproviderbutton').style.opacity = "1";
}

function selectsearch(provider)
{
  //i = document.getElementById("searchprovider");
  j = document.getElementById("searchproviderbutton");
  h = document.getElementById("searchprovidericon");
  switch(provider) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
      //i.src = sp.provider[provider].image;
      j.innerHTML = sp.provider[provider].@name;
      h.src = sp.provider[provider].icon;
      h.alt = sp.provider[provider].@name;
      current_sp = provider;
      hidemenu();
  }
}

function constructmenu(group)
{
  for(var i = 0; i < sp.provider.length(); i++) {
    if(sp.provider[i].@group == "" + group) {
      document.write("<span onclick=\"selectsearch(" + i + ");\">" +
              sp.provider[i].@name + "</span>");
    }
  }
}

