/**
 * @author venkat ramdass
 */

var singleLang = null;
var sform=null;
var curfield = null;

function linguasearch()
{
	  var results;
		results = window.frames['lsresults'];
		if (results != null) {
			results.location = "/LSearch/Search?l=" + sform.keylang.value + "&q=" + sform.tbpin.value;
			//results.location = "/LSearch/Search?l=" + sform.keylang.value;
		}
		return true;
	
}
function othersearch()
{
  var eng=null;
  var u=null;
  var elm;
  var q="";
  	elm = document.getElementById("finaltext");
	if (elm != null)
		q = elm.innerHTML;

    if (sform.elements['engine'] != null && sform.elements['engine'] != 'undefined') 
    {
 	    u="/LSearch/Transform?site="+sform.engine.value+"&set=" + sform.keylang.value +"&q="+escape(utf8encode(q));
		document.location = u;
	}
	else {
		sform.btn2.value = "Google";
		if (q.length>0) 
			sform.tbox.value = q;
		sform.submit();
	}
	return true;
}


function google()
{
	var n = document.createElement("script");
	n.setAttribute("src","http://www.google.com/afsonline/show_afs_search.js");
	n.setAttribute("defer"," ");
	n.setAttribute("type","text/javascript");
	var o2 = document.getElementById("googlescript");
	o2.appendChild(n);
	
}
function loadKeyBoard(x){}

function kbc(){
	setKBLang(sform.keylang.value,sform.keylang.selectedIndex);
	loadKeyBoard(null);
	var elm = document.getElementById("helpstate");
	if(elm!=null)
	{
		if (elm.innerHTML == "show") {
			var elm2 = document.getElementById("helpcontent");
			elm2.style.display="block";
			elm.innerHTML="hide";
			helpInit();
			//toggleHelp(elm);
		}
	}
	var help = window.frames['xlithelp'];
	if (help != null) {
		if(sform.keylang.selectedIndex==0)
		   help.location = "/help/help.html";
		else
		   help.location = "/LSearch/Help?l=" + sform.keylang.value;
	}
	
}

function initTxt()
{
  if (curfield != sform.txt) {
  	curfield=sform.txt;
  	kbInit(sform.txt, true);
  	lookupInit(sform.txt, sform.keylang);
  }
}
function initQry()
{
  if(curfield!=sform.tbpin)
  {
  	 curfield = sform.tbpin;
	 kbInit(sform.tbpin,false);
 	 lookupInit(sform.tbpin,sform.keylang);
  }
	
}

function initSearch(tbtype)
{
 
  sform=document.forms.sf;
 
  sform.tbpin.focus();
}

function checktrans(tbtype)
{
  var hr = window.location.href;
  var kbl="English";
  var kbi=0;
  var pa;
  var q=null;
  var cstxt,cs;
  var n,v;
  cstxt=null;
  cs=null;
  curfield=null;
  sform=document.forms.sf;
  if (tbtype == 0) {
  	//sform.tbpin.onclick = initQry;
  	initQry();
  }
  else {
  	//sform.txt.onclick = initTxt;
	initTxt();
  }
	

  if ( hr.indexOf("?") > -1 ){
    var qs = hr.substr(hr.indexOf("?")+1);
	
    var qa = qs.split("&");
    for ( var i = 0; i < qa.length; i++ ){
       pa=qa[i].split("=");
	   n=pa[0];
	   v=null;
	   if(pa.length>1)
	     v=unescape(pa[1]);
      if (n=="lang" && v!=null){
         singleLang=v;
	  }else if (n=="lstr"){
         sform.tbox.value= utf8decode(v);
	  }else if(n=="q"){
		 q=v;
	  }else if(n=="tbpin"){
         sform.tbpin.value= utf8decode(v);
      }else if(n=="kblang"){
		 var lv = v;
		 if(lv!=null && lv.length>0)
		    kbl = lv;
      }else if(n=="kbindex"){
	  	 if(v!=null && v.length>0)
		    kbi = v;
	  }else if (n=="cstxt"){
         cstxt= v;
	  }else if (n=="cs" ){
         cs= v;
	  }else if (n=="ol" ){
		 var ll = sform.l;
		 var i;
		 for(j=0;j<ll.length;j++)
         {
		 	if(ll.options[j].value==v)
		    {
				ll.options[j].selected=true;
				break;
			}
		 }
      }
    }
  }
   
  if (kbl != 'English') {
  	if (tbtype == 0) 
  		sform.tbpin.focus();
  	else 
  		sform.txt.focus();
  }else{
  	 sform.keylang.focus();
  }

  setKBLang(kbl,kbi);
  
  loadKeyBoard(q);
  helpInit();
  
  if(q!=null){google();}
}

function utf8encode(str) {

    var utftext = "";

    for (var n = 0; n < str.length; n++) {

        var c = str.charCodeAt(n);

        if (c < 128) {
            utftext += String.fromCharCode(c);
        }
        else if((c > 127) && (c < 2048)) {
            utftext += String.fromCharCode((c >> 6) | 192);
            utftext += String.fromCharCode((c & 63) | 128);
        }
        else {
            utftext += String.fromCharCode((c >> 12) | 224);
            utftext += String.fromCharCode(((c >> 6) & 63) | 128);
            utftext += String.fromCharCode((c & 63) | 128);
        }

    }

    return utftext;
}

function utf8decode(s) {
        var u = "";
        var i = 0;
        var c = c1 = c2 = 0;

        while ( i < s.length ) {

            c = s.charCodeAt(i);

            if (c < 128) {
                u += String.fromCharCode(c);
                i++;
            }
            else if((c > 191) && (c < 224)) {
                c2 = s.charCodeAt(i+1);
                u += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
                i += 2;
            }
            else {
                c2 = s.charCodeAt(i+1);
                c3 = s.charCodeAt(i+2);
                u += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
                i += 3;
            }
        }
        return u;
  }

	
function setKBLang(newlang,newindex){
	
	sform.kblang.value=newlang;
	if(newlang!='English' && newindex==0)
	{
		var i,s;
		s = newlang.toLowerCase();
		for(i=0;i<sform.keylang.length;i++)
		{
			if(sform.keylang.options[i].value.toLowerCase()==s)
			{
				newindex=i;
				break;
			}
		}
	}
    sform.kbindex.value=newindex;
	sform.keylang.selectedIndex=newindex;
}

//================================
//================================
var nowX=0;
var nowY=0;
var offsetx=0;
var offsety=0;
var helpLayer=null;
var helpEnabled=false;
var helpContent=null;
var helpFrame=null;
function helpInit()
{
 nowX=1;
 nowY=1;
 var x,y;
 var elm;
 var topElement;
 topElement= "HTML";
	helpLayer=document.getElementById("helpLayer");
	helpContent = document.getElementById("helpcontent");
    if (helpLayer != null) {
		helpFrame=document.getElementById("xlithelp");
		helpLayer.onmousedown = helpLayerInit;
		helpLayer.onmouseup =  stopMove;
		helpLayer.onblur = stopMove;
		helpLayer.onmouseout = stopMove;
         elm=helpLayer;
		 x=0;
		 y=0;
		  while (elm.tagName!=topElement){
			 x+=elm.offsetLeft;
			 y+=elm.offsetTop;
 		     elm=elm.parentNode;
		  }
		helpLayer.style.left=helpLayer.offsetLeft + document.body.scrollLeft;
		helpLayer.style.top=helpLayer.offsetTop + document.body.scrollTop;
		//nowX = x;
		//nowY = y;
	}
}

function stopMove(e)
{
	helpEnabled=false;   
    helpLayer.onmousemove=null;
	
}
function helpLayerInit(e){

  var elmSrc=null;

  topElement= "HTML";
 // helpLayer=document.getElementById("helpLayer");

  if(!e)
      e=event;
  elmSrc=(e!=null && e.srcElement!=null && e.srcElement!='undefined')  ?e.srcElement :e.target;

  while (elmSrc.id!="helpLayer"&&elmSrc.tagName!=topElement){
    if(elmSrc.id=="helpstate")
	   break;
    elmSrc=elmSrc.parentNode;
  }

  if (elmSrc.id=="helpLayer" && helpContent.style.display!="none"){
  		
    offsetx=(e==null) ? event.clientX : e.clientX;
    offsety=(e==null) ? event.clientY : e.clientY;
    nowX=parseInt(helpLayer.style.left);
    nowY=parseInt(helpLayer.style.top);
    helpEnabled=true;
    helpLayer.onmousemove=moveHelp;
  }
}

function moveHelp(e){
  if (helpEnabled) {
  	helpLayer.style.left = (e == null) ? nowX + event.clientX - offsetx : nowX + e.clientX - offsetx;
  	helpLayer.style.top = (e == null) ? nowY + event.clientY - offsety : nowY + e.clientY - offsety;
  }
  return false;
}

function hideHelp(){
	if (helpFrame != null) {
		helpFrame.style.display="none";
	}
}

function showHelp(){
	if (helpFrame != null) {
		helpFrame.style.display="block";
	}
}

function toggleHelp(st){

    //var st = document.getElementById("helpstate");;
	if (st != null) {
		if (st.innerHTML == "show") {
			st.innerHTML = "hide";
			showHelp();
		}
		else {
			st.innerHTML = "show";
			hideHelp();
		}
		return false;
	}
	return true;
}

