__GgvAjaxgamabhanaSCLink="http://saraswaticlasses.net/shabdasampada/ajax/gamabhana_ajax_fetch.php?"
__GgvSCLink="http://saraswaticlasses.net/shabdasampada/";
__GgvSCSrcId="";
GgvobjOutput = null;
GgvObjInput= null;
GgvWord="";
GgvlRng=null;
__GgvTimeout = 6400;
__GgvTimerId = null;

function unsetSugDiv(){GgvobjOutput.style.display='none';}	

function GCBOnSCSugFetch(){GfHandleData(this.req.responseText);}

function GfInReplace(GivObj)
{
  
  if(GgvWord!="")
  {
    GlvEle = GgvObjInput;
    
    if(GlvEle.value)
     Glvstr = GlvEle.value; 

    if(!GlvEle.value) 
    {
     if(GlvEle.contentWindow)
       Glvstr = GlvEle.contentWindow.document.body.innerHTML;
     else
       Glvstr = GlvEle.document.body.innerHTML;
    }

    if (document.all)
    {
      GlvRstr = GivObj.innerText;
      if(GgvlRng !=null)
      { 
        GgvlRng.select();
        GgvlRng=null;
      }
    }
    else
      GlvRstr = GivObj.text;

    GlvS1 = '(#|\$|\\[|\\]|\\{|\\}|:|;|^|\<|\>|\,|\\.|\\?|\\/|\\||\\\|\^| |\\r|\\n|~|`|\!|@|\\$|\\%|\\^|\&|\\*|\\(|\\))';
    Glvspat = new RegExp(GlvS1+GgvWord+GlvS1, "g");

    Glvcnt = Glvstr.search(Glvspat);

    if(Glvcnt>-1)
    { 
     Glvstr = Glvstr.replace(Glvspat,'$1'+GlvRstr+'$2');

     if(GlvEle.value)
       GlvEle.value = Glvstr; 

     if(!GlvEle.value) 
     { 
       if(GlvEle.contentWindow)
         GlvEle.contentWindow.document.body.innerHTML=Glvstr;
       else
         GlvEle.document.body.innerHTML=Glvstr;
     }

     alert("All occurrences of " + GgvWord + " are replaced by " +GlvRstr);
    }

    if(Glvcnt< 0)
      alert("No more word similar to " + GgvWord);
  }
}

function GfHandleData(GivText)
{
GlvData  = GivText.split(',');
GgvWord = GlvData[0];
GlvCnt = GlvData[1];
GgvobjOutput.innerHTML = "";
if(GlvCnt > 0)
{
  for (i = 2; i < GlvData.length; i++)
  {
  GgvobjOutput.innerHTML += "<div><a href=\"#\" title=\"Replace all occurrences of " + GgvWord + " by " + GlvData[i]+ "\" onclick=\"GfInReplace(this);unsetSugDiv();\" >" + GlvData[i] + "</ div>";
  } 
try{
clearTimeout(__GgvTimerId);
}catch(e){}
__GgvTimerId = setTimeout('unsetSugDiv()',__GgvTimeout);
}

if(GlvCnt == 0)
{
GgvWord="";
GgvobjOutput.innerHTML = "<div><font face=arial>Exact Match</font></div>";
try{
clearTimeout(__GgvTimerId);
}catch(e){}
__GgvTimerId = setTimeout('unsetSugDiv()',__GgvTimeout/4);

}
if(GlvCnt < 0)
{iword="";
GgvobjOutput.innerHTML = "<div><font face=arial>Not In Dictionary :(</font></div>";
try{
clearTimeout(__GgvTimerId);
}catch(e){}
__GgvTimerId = setTimeout('unsetSugDiv()',__GgvTimeout/4);

}
GgvobjOutput.innerHTML+="<hr /><div><font size=2 face=arial>featured by <a href=\""+__GgvSCLink+"\" _target='new' >shabda sampada</a></font></div>";
}

function GfGetSug(ieve)
{
var eve;
var xoffset=10;
var yoffset=8;
var xdim = 200;
var ydim = 100;

try{
__GgvSCSrcId= (ieve.target || ieve.srcElement).id;
eve = ieve;

}
catch(e)
{
if(document.all && document.getElementById(__GgvSCSrcId).contentWindow)
{
    eve=document.getElementById(__GgvSCSrcId).contentWindow.event;
    yoffset=2*ydim/3;

}
else
    eve=(window.event) ? window.event : ieve;
}

try
{
eve.returnValue = false;
}
catch(e)
{
eve.preventDefault();
}

GlvSelWord="";
  if(document.all)
  {
    var GlvEle = document.getElementById(__GgvSCSrcId);
    GgvObjInput = GlvEle ;
    var GlvPane;
    if (GlvEle.document.selection) 
    {
     if(!GlvEle.value) 
     {
       if(GlvEle.contentWindow)
         GlvPane = GlvEle.contentWindow.document;
       else
         GlvPane = GlvEle.document;
     }
     else
       GlvPane = GlvEle.document;
   try{
     GgvlRng = GlvPane.selection.createRange();
     }
     catch(e)
     { return false;
     }
    }
    try{
    GlvSelWord = GgvlRng.text;
    GgvlRng.collapse(true);
     }
     catch(e)
     { return false;
     }
  }
  else
  {
    GgvObjInput = document.getElementById(__GgvSCSrcId);
    Glvs=GgvObjInput.selectionStart;
    Glve=GgvObjInput.selectionEnd; 
    GlvSelWord = GgvObjInput.value.substr(Glvs,Glve-Glvs);
  }

  GlvSelWord = GlvSelWord.replace(eval("/ /g"),"");

if (GlvSelWord!="")
{
  GlvParams = "word="+encodeURIComponent(GlvSelWord);
  GlvReqUrl= __GgvAjaxgamabhanaSCLink+GlvParams;
  if(GgvobjOutput==null)
  { 
  GgvobjOutput = document.createElement('div');
  GgvobjOutput.style.position = "absolute";
  GgvobjOutput.style.zIndex = 1;
  GgvobjOutput.style.border = "solid";
  GgvobjOutput.style.borderColor = "f7f7f7";
  GgvobjOutput.style.backgroundColor="f7f7f7";
  GgvobjOutput.style.overflowX = "auto";
  GgvobjOutput.style.overflow = "scroll"; 
  document.body.appendChild(GgvobjOutput); 
  }
  GgvobjOutput.style.width = xdim+"px";
  GgvobjOutput.style.height = ydim+"px";

  new GAcommunicator.ContentLoader(GlvReqUrl,GlvParams,GCBOnSCSugFetch);
  GgvobjOutput.innerHTML = "Fetching suggestions...";
  GgvobjOutput.style.top = (eve.clientY+yoffset)+"px";
  GgvobjOutput.style.left = (eve.clientX+xoffset)+"px";
  GgvobjOutput.style.display = "block";
  return false;
}



return false;
}