var xmlHttp;
var limit=8;
var allID=1000;
var arrayTotal=new Array();
var formval="OR";

/**************************************/
function showAbs(str){
  if (arrayTotal.length <= 0)
    exit(1);

  xmlHttp=GetXmlHttpObject();
  if (xmlHttp==null)
  {
    alert ("Your browser does not support AJAX");
    return;
  }

  var url="showAbs.php?showID="+str;
  
  xmlHttp.onreadystatechange=function()
  {
    if(xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
    {
      if (xmlHttp.responseText != "")
        document.getElementById("abstract"+str+"holder").innerHTML=xmlHttp.responseText;
    }
  }
  xmlHttp.open("GET", url, true);
  xmlHttp.send(null);
}

/**********************************/
function hideAbs(str){
  var hideThis="<TR><TD ALIGN=\"RIGHT\">";
  hideThis = hideThis+"<a id="+str+" onClick=\"showAbs(this.id)\" onmouseover=\"hover(this.id)\" onmouseout=\"hout(this.id)\">Show Abstract</a>";
  hideThis = hideThis+ "</TD></TR>";

  document.getElementById("abstract"+str+"holder").innerHTML=hideThis;
}

/*********************************/
function findThis(){
  var i;

  if (arrayTotal.length <= 0)
    exit(1);

  xmlHttp=GetXmlHttpObject();
  if (xmlHttp==null)
  {
    alert ("Your browser does not support AJAX");
    return;
  }

  var url="submitpapers.php";
  for (i=0; i<arrayTotal.length; i++) {
    if (i==0)
      url = url+"?key"+(i+1)+"="+arrayTotal[i];
    else
      url = url+"&key"+(i+1)+"="+arrayTotal[i]; 
  }
  url = url+"&formula="+formval;

  // document.getElementById("resultholder").innerHTML=url;
  xmlHttp.onreadystatechange=function()
  {
    if(xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
    {
      document.getElementById("resultholder").innerHTML="<H1>Results:</H1>";

      var prev=document.getElementById("resultholder").innerHTML;
      document.getElementById("resultholder").innerHTML=prev+xmlHttp.responseText;
    }
  }
  xmlHttp.open("GET", url, true);
  xmlHttp.send(null);
}

/**********************************/
function getSelectedRadioValue(buttonGroup) {
   // returns the value of the selected radio button or "" if no button is selected
   var i = getSelectedRadio(buttonGroup);
   if (i == -1) {
      return "";
   } else {
      if (buttonGroup[i]) { // Make sure the button group is an array (not just one button)
         return buttonGroup[i].value;
      } else { // The button group is just the one button, and it is checked
         return buttonGroup.value;
      }
   }
} // Ends the "getSelectedRadioValue" function

/**********************************/
function clearSelected(){
  var i;
  var labelArray=new Array();
  var newLabel;

  for(i=arrayTotal.length-1; i>=0; i=i-1) {
    var temp="label"+arrayTotal[i];

    if (document.getElementById(temp).disabled == true)
    {
      document.getElementById(temp).disabled=false;
      /* Keyword become active */
      document.getElementById(arrayTotal[i]).disabled=false;

      labelArray.push(temp);
      arrayTotal.splice(i,1);
    }
  }

  if(arrayTotal.length <= 0){
     document.getElementById(allID).disabled=false;
     document.getElementById("keywordholder").innerHTML="&nbsp";
  }

  else {
      var before=document.getElementById("keywordholder").innerHTML;
      
      newLabel = cutLabels(before, labelArray);
      document.getElementById("keywordholder").innerHTML=newLabel;
  }
}


/**********************************/
function cutLabels(ori, excl){
  var i;
  var st, en;
  var key;
  var temp, temp2, temp3;
  var tempEn;

  //var check=ori+"\n\n";
  //alert(check);
  
  while (excl.length > 0) {
    /* find <label id="labelx" */
    key=excl.pop();

    var searchStr01="<label id="+key;
    var searchStr02="id=\""+key+"\"";
    var searchStr03="<label";
    var searchStr2="</label>"
        
    st = ori.toLowerCase().indexOf(searchStr01);
    if (st==-1) {
      var st_tmp;
      st_tmp = ori.toLowerCase().indexOf(searchStr02);
      var st_str = ori.slice(0,st_tmp);
      st = st_str.toLowerCase().lastIndexOf(searchStr03);
    }
      
    temp=ori.slice(st);
    tempEn = temp.toLowerCase().indexOf(searchStr2) + searchStr2.length;
    en = st + tempEn;

    if(temp.charAt(tempEn)=="<" && temp.charAt(tempEn+1).toLowerCase()=="b")
      en=en+4;
    else if(ori.charAt(st-1)==">" && ori.charAt(st-2).toLowerCase()=="r")
      st=st-4;
    
    var temp2, temp3;
    if(st==0){
       temp2=ori.slice(en);
       ori = temp2;
       
    }
    else {
       temp2=ori.slice(0,st);
       temp3=ori.slice(en);
       ori=temp2+temp3;
    }
  }
  
  return ori;
}


/**********************************/
function clearAll(){
  var i;
  
  document.getElementById("keywordholder").innerHTML="&nbsp;";
  document.getElementById("resultholder").innerHTML="&nbsp;";
  for (i=1;i<=limit;i=i+1) {
     document.getElementById(i).disabled=false;
  }
  document.getElementById(allID).disabled=false;
  // arrayTotal=new Array();
  arrayTotal.splice(0,arrayTotal.length);
}


/**********************************/
function clickMe(str){
   if (document.getElementById(str).disabled != true)    {
     xmlHttp=GetXmlHttpObject();
     if (xmlHttp==null)
     {
       alert ("Your browser does not support AJAX");
       return;
     }
     var url="drag.php";
     url=url+"?id="+str;
   
     xmlHttp.onreadystatechange=stateChanged;
     xmlHttp.open("GET", url, true);
     xmlHttp.send(null);
   
     // disabled the click keywords
     if (str==allID) 
     {
        var i;
        for (i=1; i<=limit; i=i+1)
           document.getElementById(i).disabled=true;
     }
     else 
       document.getElementById(str).disabled = true;
   
     // also disable the "All" keyword
     document.getElementById(allID).disabled = true;
     
     // Put keyword in array
     if (str == allID){
        for(i=1; i<=limit; i=i+1)
          arrayTotal.push(i);
     }
     else {
        arrayTotal.push(str);
     }
     
  }
}

/**********************************/
function stateChanged()
{
   if (xmlHttp.readyState==4)
   {
      var prev = document.getElementById("keywordholder").innerHTML; 
      if(prev=="&nbsp;")
        document.getElementById("keywordholder").innerHTML=xmlHttp.responseText;
      else
       document.getElementById("keywordholder").innerHTML=prev+"<br>"+xmlHttp.responseText;
        
   }
}

/**********************************/
function GetXmlHttpObject()
{
  var xmlHttp=null;
  try
  {
     //Firefox, Opera 8.0+, Safari
    xmlHttp = new XMLHttpRequest();
  }
  catch (e)
  {
     // Internet Explorer
     try 
     {
         xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
     }
     catch (e)
     {
         xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
     }
  }
  return xmlHttp;
}

/**********************************/
function hover(str)
{
 if (document.getElementById(str).disabled != true){
    document.getElementById(str).style.textDecoration="underline";
    document.getElementById(str).style.cursor="pointer";
  }
}

/**********************************/
function hout(str)
{
  document.getElementById(str).style.textDecoration="none";
  document.getElementById(str).style.cursor="default";
}

/**********************************/
function labelClick(str)
{
 var str2="";
 var temp2;
 var i;
 
   if (document.getElementById(str).disabled == true){
      document.getElementById(str).style.background="white";
      document.getElementById(str).style.color="black";
      document.getElementById(str).disabled = false;
   }
   else
   {
      document.getElementById(str).style.background="blue";
      document.getElementById(str).style.color="white";
      document.getElementById(str).disabled = true;
   }
}

/**********************************/
function check(formulaValue)
{
  formval=formulaValue;
}

