﻿// JavaScript File Copyright 2007 Angora Design

var xmlHttp,d=document;

function chgDict()
{
d.getElementById("fText").focus();
}

function chkEntr(e)
{
var cc;
if(e&&e.which){cc=e.which;}else{cc=e.keyCode;}
if(cc==13){getDict(1);return false;}
return true;
}

function isML(obj,len)
{
if(obj.value.length>len){obj.value=obj.value.substring(0,len);}
}

function addDC(x)
{
var el=d.getElementById("fText");
el.value=el.value+x;
el.focus();
}

function cln(x)
{
return x.replace(/\s+/g," ").replace(/^\s*(.*?)\s*$/,"$1");
}

function wkg()
{
try{d.getElementById("d_result").innerHTML="<img src='./Images/indicator.gif' alt='Loading' /><span class='f1 c2 s4 pad1'>&nbsp;</span>";}
catch(e){}
}

function resDict()
{
d.getElementById("fReq").value="ET";
d.getElementById("fType").value="EXACT";
d.getElementById("fText").value="";
d.getElementById("d_result").innerHTML="<span class='f1 c2 s4'>Enter a word to translate</span>";
d.getElementById("fText").focus();
}

function getDict(pge)
{
var el=d.getElementById('fText');
el.value=cln(el.value);
el.focus();
if(el.value==''){d.getElementById("d_result").innerHTML="<span class='f1 c2 s4'>You have not entered a word to translate</span>";return;}
var st="fLang=EN&fReq="+d.getElementById("fReq").value+"&fType="+d.getElementById("fType").value+"&fText="+encodeURI(d.getElementById("fText").value)+"&fPage="+pge;
wkg();
postHttp("dictman.asp",st);
}

function setDict(pge,req,typ,txt)
{
d.getElementById("fReq").value=req;
d.getElementById("fType").value=typ;
d.getElementById("fText").value=txt;
getDict(pge);
}

function refXXX(req)
{
var st="fLang=EN&fReq="+req;
postHttp("dictman.asp",st);
}

function postHttp(url,st)
{
xmlHttp=getHttp();
if(xmlHttp==null)
	{
	alert("An error has occurred processing your request and procssing cannot proceed.\nWe apologise for any inconvenience.\nPlease try again later.");return;
	}
xmlHttp.onreadystatechange=alertContents;
xmlHttp.open("POST",url,true);
xmlHttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlHttp.send(st);
}

function getHttp()
{
var objXMLHttp=null;
if(window.XMLHttpRequest)
	{
	objXMLHttp=new XMLHttpRequest();
	}
else if(window.ActiveXObject)
	{
	try{objXMLHttp=new ActiveXObject("Msxml2.XMLHTTP");}
	catch(e){objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP");}
	}
return objXMLHttp;
}

function alertContents()
{
if(xmlHttp.readyState==4)
	{
	if(xmlHttp.status==200)
		{
		procData(xmlHttp.responseXML.documentElement);
//		document.write(xmlHttp.responseText);
		}
	else
		{
//		d.write(xmlHttp.responseText);
		alert("An error has occurred processing your request and procssing cannot proceed.\nWe apologise for any inconvenience.\nPlease try again later.");
		}
	}
}

function procData(res)
{
var i,x=res.getElementsByTagName("d_seg_t");
for(i=0;i<x.length;i++)
	{
	switch(x[i].attributes.getNamedItem("type").value)
		{
		case "d_lst":procLst(x[i]);break;
		case "d_rec":procXXX(x[i],"RR");break;
		case "d_pop":procXXX(x[i],"PP");break;
		case "d_err":procErr(x[i]);return;break;
		}
	}
}

function procErr(seg)
{
var i,ec,et,er;
for(i=0;i<seg.childNodes.length;i++)
	{
	var n7=seg.childNodes[i].nodeName;
	var n8=seg.childNodes[i].childNodes[0].nodeValue;
	if(n7=="err_cde"){ec=n8;}
	if(n7=="err_txt"){et=n8;}
	}
d.getElementById("d_result").innerHTML="<span class='f1 c2 s4'>An error has ocurred: "+ec+" - "+et+"</span>";
}

function procLst(seg)
{
var j,k,cp,mp,tr,rq,ty,tx,a,b,st;

var n0=seg.childNodes[0].childNodes.length-1;
for(j=n0;j>=0;j--)
	{
	var n1=seg.childNodes[0].childNodes[j].nodeName;
	var n2=seg.childNodes[0].childNodes[j].childNodes[0].nodeValue;
	switch(n1)
		{
		case "dcp":cp=n2;break;
		case "dmp":mp=n2;break;
		case "dtr":tr=n2;break;
		case "drq":rq=n2;break;
		case "dty":ty=n2;break;
		case "dtx":tx=n2;break;
		}
	}

if(tr!=0)
	{
	st="<table class='tab3'><tr><td class='cell1'><span class='f1 c1 s1'>";
	if(rq=="ET"){st=st+"English</span></td><td class='cell1'><span class='f1 c1 s1'>Turkish";}
	else if(rq=="TE"){st=st+"Turkish</span></td><td class='cell1'><span class='f1 c1 s1'>English";}
	st=st+"</span></td></tr>";
	var n3=seg.childNodes[1].childNodes.length;
	for(j=0;j<n3;j++)
		{
		var n4=seg.childNodes[1].childNodes[j].childNodes.length-1;
		for(k=n4;k>=0;k--)
			{
			var n5=seg.childNodes[1].childNodes[j].childNodes[k].nodeName;
			var n6=seg.childNodes[1].childNodes[j].childNodes[k].childNodes[0].nodeValue
			switch(n5)
				{
				case "da":a=n6;break;
				case "db":b=n6;break;
				}
			}
		st=st+"<tr><td><span class='f1 c2 s1'>"+a+"</span></td><td><span class='f1 c2 s1'><a class='menu c2' href='#dictionary' accesskey='i' ";
		if(rq=="ET"){st=st+"title='Translate to English: "+b+"' onclick='setDict(1, \"TE\", \"EXACT\", \""+b+"\")'>";}
		else if(rq=="TE"){st=st+"title='Translate to Turkish: "+b+"' onclick='setDict(1, \"ET\", \"EXACT\", \""+b+"\")'>";}
		st=st+b+"</a></span></td></tr>";
		}
	st=st+"<tr><td class='cell3' colspan='2'>"+buildFoot(cp,mp,rq,ty,tx)+"</td></tr></table>";
	}
else
	{
	st="<span class='f1 c2 s4'>No translation available - Try a Google Search</span><center><form method='get' action='http://www.trengle.com/Default.asp' target='_top'><table bgcolor='#ffffff'><tr><td nowrap='nowrap' valign='top' align='left' height='32'><label for='sbi' style='display: none'>Enter your search terms</label><input type='text' name='q' size='40' maxlength='255' value='"+tx+"' id='sbi'></input><label for='sbb' style='display: none'>Submit search form</label><input type='submit' name='sa' value='Google Search' id='sbb'></input><input type='hidden' name='client' value='pub-1643653606050140'></input><input type='hidden' name='forid' value='1'></input><input type='hidden' name='ie' value='UTF-8'></input><input type='hidden' name='oe' value='UTF-8'></input><input type='hidden' name='cof' value='GALT:#008000;GL:1;DIV:#FFFFFF;VLC:663399;AH:center;BGC:FFFFFF;LBGC:336699;ALC:0066CC;LC:0066CC;T:000000;GFNT:0066CC;GIMP:0066CC;FORID:11'></input><input type='hidden' name='hl' value='en'></input></td></tr></table></form></center>";
	}
d.getElementById("d_result").innerHTML=st;
d.getElementById("fText").focus();
}

function buildFoot(cur,max,req,typ,txt)
{
var bs=10,b=parseInt((cur-1)/bs)*bs,z,st;
if(cur==1){z=max;}else{z=parseInt(cur)-1;}
st="<span class='f1 c2 s1 pad4'><a class='menu' href='#dictionary' onclick='setDict("+z+",\""+req+"\",\""+typ+"\",\""+txt+"\");' title='Previous page'>Prev</a></span>";
for(i=1;i<=max-b&&i<=bs;i++)
	{
	st=st+"<span class='f1 c2 s1 pad4'>";
	if(i+b==cur){st=st+"<b>"+(i+b)+"</b>";}
	else{st=st+"<a class='menu' href='#dictionary' onclick='setDict("+(i+b)+",\""+req+"\",\""+typ+"\",\""+txt+"\");' title='Page "+(i+b)+"'>"+(i+b)+"</a>";}
	st=st+"</span>";
	}
if(cur==max){z=1;}else{z=parseInt(cur)+1;}
st=st+"<span class='f1 c2 s1 pad4'><a class='menu' href='#dictionary' onclick='setDict("+z+",\""+req+"\",\""+typ+"\",\""+txt+"\");' title='Next page'>Next</a></span>";
return st;
}

function procXXX(seg,req)
{
var i=1,j,k,a,b,c,st="";

var n3=seg.childNodes[0].childNodes.length;
for(j=0;j<n3;j++)
	{
	var n4=seg.childNodes[0].childNodes[j].childNodes.length-1;
	for(k=n4;k>=0;k--)
		{
		var n5=seg.childNodes[0].childNodes[j].childNodes[k].nodeName;
		var n6=seg.childNodes[0].childNodes[j].childNodes[k].childNodes[0].nodeValue
		switch(n5)
			{
			case "da":a=n6;break;
			case "db":b=n6;break;
			case "dc":c=n6;break;
			}
		}

	st=st+"<span class='f1 c2 s1 pad1 nw'><a class='lnk"+i+"' href='#dictionary' accesskey='i' ";
	if(b=="EXACT"&&c=="ET"){st=st+"title='Translate to Turkish: "+a+"' onclick='setDict(1, \"ET\", \"EXACT\", \""+a+"\")'>"+a;}
	else if(b=="EXACT"&&c=="TE"){st=st+"title='Translate to English: "+a+"' onclick='setDict(1, \"TE\", \"EXACT\", \""+a+"\")'>"+a;}
	else if(b=="LIKE"&&c=="ET"){st=st+"title='Translate to Turkish: "+a+" [fuzzy match]' onclick='setDict(1, \"ET\", \"LIKE\", \""+a+"\")'>*"+a+"*";}
	else if(b=="LIKE"&&c=="TE"){st=st+"title='Translate to English: "+a+" [fuzzy match]' onclick='setDict(1, \"TE\", \"LIKE\", \""+a+"\")'>*"+a+"*";}
	st=st+"</a></span> ";

	i=i+1;
	if(i==5){i=1;}
	}
switch(req)
	{
	case "RR":d.getElementById("d_rec").innerHTML=st;break;
	case "PP":d.getElementById("d_pop").innerHTML=st;break;
	}
}
