var debug = false;
function dbgalert(str)
{
  if (debug)
    alert(str);
}
function drawSvgChart(key, query, results, count)
{
  dbgalert("<embed type=\"image/svg+xml\" src=\"GetSVG.aspx?key=" + key +"&q=" + query + "&r=" + results + "\" data=\"GetSVG.aspx\" width=" + (40 + count * 120) + " height=2000 />");
  $('clusterchart').innerHTML="<embed type=\"image/svg+xml\" src=\"GetSVG.aspx?key=" + key +"&q=" + query + "&r=" + results + "\" data=\"GetSVG.aspx\" width=" + (40 + count * 120) + " height=2000 />";        //rs;
  dbgalert("here");
  return false;
}

function drawClusterChart(req, key, query, results, count)
{
  ResetAllClusterStyles();
  var activateElName = "cid_" + key;  
  $(activateElName).className = "activeCluster";

  dbgalert(count);
  var src = "ClusterChart.aspx?req=" + req + "&key=" + key; 
  var srcall = src;
  var srcless = src + "&show=50";
  var srcmore = src + "&show=100";
  
  var str = ""; //("<a href=\"" + srcless + "\">less</a>&nbsp;");
  //str+= ("<a href=\"" + srcmore + "\">more</a>&nbsp;");
  if (count > 50)
  {
    str+= ("<a href=\"" + srcall + "\" target=_blank>Show all entities in a new window</a><br />");
  }

  dbgalert(str);
  
  if (navigator.userAgent.indexOf("MSIE") > 0)
  {
    $('clusterchart').innerHTML=(str + "<iframe frameborder=\"0\" src=\"" + srcless + "&q=" + query + "&r=" + results + "\" width=\"2000\" height=\"2000\" scrolling=\"no\" />");
  }
  else
  {
    $('clusterchart').innerHTML=(str + "<embed type=\"image/svg+xml\" src=\"" + srcless +"&q=" + query + "&r=" + results + "\" data=\"ClusterChart.aspx\" width=2000 height=2000 />");
  }
  dbgalert("here");
  return false;
}

function drawTabChart(req, key, query, results, count, height, width)
{
  dbgalert(req);
  dbgalert(count);
  var src = "ClusterChart.aspx?req=" + req + "&key=" + key; 
  var srcall = src;
  var srcless = src + "&show=50";
  var srcmore = src + "&show=100";
  
  dbgalert(src);

  var strfrm = "";
  if (navigator.userAgent.indexOf("MSIE"))
  {
    strfrm = "<iframe frameborder=\"0\" src=\"" + srcless +"&q=" + query + "&r=" + results + "\" width=\"" + width + "\" height=\"" + height + "\" scrolling=\"no\" />";
    dbgalert(strfrm);
  }
  else
  {
    strfrm = "<embed type=\"image/svg+xml\" src=\"" + srcless +"&q=" + query + "&r=" + results + "\" data=\"ClusterChart.aspx\" width=\"" + width + "\" height=\"" + height + "\" />";
  }
  
  var str = ""; //("<a href=\"" + srcless + "\">less</a>&nbsp;");
  //str+= ("<a href=\"" + srcmore + "\">more</a>&nbsp;");
  if (count > 50)
  {
    str+= ("<a href=\"" + srcall + "\" target=_blank>Show all entities in a new window</a><br />");
  }
  
  dbgalert(count);
  dbgalert(height);
  dbgalert(width);
  if (navigator.userAgent.indexOf("MSIE"))
  {
    $('tabchart').innerHTML=(str + "<iframe frameborder=\"0\" src=\"" + srcless +"&q=" + query + "&r=" + results + "\" width=\"" + width + "\" height=\"" + height + "\" scrolling=\"no\" />");
    dbgalert($('tabchart').innerHTML);
    //$('tabchart').innerHTML="<iframe frameborder=\"0\" src=\"ClusterChart.aspx?show=30&cluster=y&key=" + key +"&q=" + query + "&r=" + results + "\" width=\"" + width + "\" height=\"" + height + "\" scrolling=\"no\" />";
  }
  else
  {
    $('tabchart').innerHTML=(str + "<embed type=\"image/svg+xml\" src=\"" + srcless +"&q=" + query + "&r=" + results + "\" data=\"ClusterChart.aspx\" width=\"" + width + "\" height=\"" + height + "\" />");
    //$('tabchart').innerHTML="<embed type=\"image/svg+xml\" src=\"ClusterChart.aspx?show=30&cluster=y&key=" + key +"&q=" + query + "&r=" + results + "\" data=\"ClusterChart.aspx\" width=\"" + width + "\" height=\"" + height + "\" />";
  }
  dbgalert("here");
  return false;
}

function ShowAdvanced()
{
  var divAdvanced = this.document.getElementById("divAdvanced");
  if (divAdvanced.style.display ==  "none")
    divAdvanced.style.display = "block";
  else
    divAdvanced.style.display = "none";
}

function ShowPreferences()
{
  var divPreferences = this.document.getElementById("divPreferences");
  if (divPreferences.style.display ==  "none")
    divPreferences.style.display = "block";
  else
    divPreferences.style.display = "none";
}

function ShowElement(id)
{
  var element = this.document.getElementById(id);
  if (element.style.display ==  "none")
    element.style.display = "block";
  else
    element.style.display = "none";
}

function ShowTagDetails(id)
{
  ResetAllClusterStyles();
  var element = this.document.getElementById(id);
  var activateElName = id.replace("ciddetails_","cid_");  
  $(activateElName).className = "activeCluster";
  var links = id.replace("ciddetails_","cidlinks_");  
  ShowLinks(links);
  var element = this.document.getElementById(id);
  if (element.style.display ==  "none")
    element.style.display = "block";
  else
    element.style.display = "none";
}

function ResetAllClusterStyles()
{
  var clusters = $("clusters");
  for( var i = 0, oNode; oNode = clusters.childNodes[i]; i++ ) {
    oNode.className = "inactiveCluster";
  }  
}

function ShowLinks(id)
{
  ResetAllClusterStyles();
  var element = this.document.getElementById(id);
  var activateElName = id.replace("cidlinks_","cid_");  
  $(activateElName).className = "activeCluster";
  var placetoshow = this.document.getElementById("clusterchart");
  placetoshow.innerHTML = element.innerHTML;
}

function Chart(key)
{
  //the key is the items session key
  //it is the item that has the cluster contained in the URLReferences
  //do an iframe I guess because it is client side
  //i wish we had charting as response output
  var chart = this.document.getElementById("clusterchart");
  //chart.innerHTML = "<iframe width='700' height='500' src='SVG.aspx?key="+key+"' />";    
}

function selecttabbyid(id)
{
  $(id).style.display="block";
  $(id).className="active";
}

function selecttab(id)
{
  dbgalert(id);
  var id = "t_" + id;//tabclicked.id;
  selecttabbyid(id);
  //SetCookie("tab",id);
}

/*function getTags(ndx, cacheURL)
{
  dbgalert(cacheURL);
  var query = $('query').value;
  var noresults = $('noResults').value;  
  //var root = "http://cluuz"+(Math.floor(ndx/2)+1)+".cluuz.com/TopTags.aspx";
  var root = "TopTags.aspx";
  new Ajax.Request(
    root,
    {
      method:'post',
      parameters:'ndx=' + ndx + '&cacheURL='+escape(cacheURL)+'&query='+escape(query),
      onSuccess:function(xh)
      {
        var rs=xh.responseText;
        dbgalert("ret:" + rs);
        dbgalert("tags_"+ndx);
        dbgalert($("tags_"+ndx));
        $("tags_"+ndx).innerHTML=rs;
        if (spinnersDone())
        {
          var url="Default.aspx?yahoo=y&msn=y&q=" + escape(query);
          $("clusterQ").innerHTML = "Would you like to:<a href='" + url + "&cluster=y'>Cluster</a>&nbsp;<a href='" + url + "&clusterMap=y'>Chart</a>";
        }
        $("spinner_"+ndx).style.display='none';
        return rs;
      },
      onFailure:function(xx)
      {
        $("tags_"+ndx).innerHTML="failed";
        $("spinner_"+ndx).style.display='none';
      }
    }
  );
  return false;
}*/

function spinnersDone()
{
  return true;
  var spinners = $$('.spinners');
  dbgalert(spinners.length);
  for( var i = 0, oNode; i < spinners.length; i++ ) 
  {
    oNode = spinners[i];
    if (oNode.style.display != "none")
    {
      return false;
    }
  }
  return true;
}

function addToBrowser()
{
  if(navigator.appVersion.indexOf("MSIE") > 0)
  {
    if (navigator.appVersion.indexOf("MSIE 7") > 0)
    {
      //$("addtobrowser").innerHTML = "<a href=\"#\" onclick=\"javascript:window.external.AddSearchProvider('http://www.cluuz.com/OpenSearchDescription.xml')\">Add To Browser</a>";
      $("addtobrowser").href = "javascript:window.external.AddSearchProvider('http://www.cluuz.com/OpenSearchDescription.xml')";
      $("addtobrowser").innerHTML = " Add To Browser";
    }
  }
  else
  {
    //$("addtobrowser").innerHTML = "<a href=\"#\" onclick=\"javascript:window.external.AddSearchProvider('http://www.cluuz.com/OpenSearchDescription.xml')\">Add To Browser</a>";
    $("addtobrowser").href = "javascript:window.external.AddSearchProvider('http://www.cluuz.com/OpenSearchDescription.xml')";
    $("addtobrowser").innerHTML = " Add To Browser";
  }
}


function recommend(query, index, vote)
{
  var url = "Recommend.aspx";
  new Ajax.Request(
    "Recommend.aspx",
    {
      method:'post',
      parameters:'q=' + escape(query) + '&index=' + index + '&vote=' + escape(vote),
      onSuccess:function(xh)
      {
        var rs=xh.responseText;
        alert(rs);
      },
      onFailure:function(xx)
      {
        alert("failed:" + xx);
      }
    }
  );
  
}

function friendsonly(val)
{
  new Ajax.Request(
    "Options.aspx",
    {
      method:'post',
      parameters:'friendsonly=' + val,
      onSuccess:function(xh)
      {
        var rs=xh.responseText;
        dbgalert(rs);
        if (rs!="")
        {
          var json = YAHOO.lang.JSON.parse(rs); 
          var code = json.code;
          if (code!="200")        
            alert(json.msg);
          else            
            window.location.reload(true);          
        }
      },
      onFailure:function(xx)
      {
      }
    }
  );
}
