﻿// JavaScript File

var xmlHttp

// request

function getXmlHttpObject()
{
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)
		{
		processData(xmlHttp.responseXML.documentElement)
		}
	else
		{
//		document.write(xmlHttp.responseText)
		alert ("The HTTP Request has failed")
		}
	}
}

function postXmlHttpObject(url, st)
{
xmlHttp=getXmlHttpObject()
if (xmlHttp==null)
	{
	alert ("This browser does not support HTTP Requests")
	return
	}
xmlHttp.onreadystatechange = alertContents
xmlHttp.open("POST", url, true)
xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded")
xmlHttp.send(st);
}

function requestData(st)
{
postXmlHttpObject("dataman.asp", st)
}

// response

function processData(response)
{
var i, x=response.getElementsByTagName("LTResp_seg")
for (i=0; i<x.length; i++)
	{
	switch(x[i].attributes.getNamedItem("type").value)
		{
		case "LTReq_error":
			processLTReqError(x[i])
			return
		break
		case "news_list":
			processNewsList(x[i])
		break
		case "dict_list":
			processDictList(x[i])
		break
		}
	}
}

function processLTReqError(seg)
{
var i, ec, et, er, st
for (i=0; i<seg.childNodes.length; i++)
	{
	if (seg.childNodes[i].nodeName == "LTReq_error_req")
		{
		er = seg.childNodes[i].childNodes[0].nodeValue
		}
	if (seg.childNodes[i].nodeName == "LTReq_error_code")
		{
		ec = seg.childNodes[i].childNodes[0].nodeValue
		}
	if (seg.childNodes[i].nodeName == "LTReq_error_text")
		{
		et = seg.childNodes[i].childNodes[0].nodeValue
		}
	}
st = "A serious error has ocurred <br /><br /> Please contact the site administrator quoting the following <br /><br />Error: " + ec + " - " + et
showError(er, st)
}

function processNewsList(seg)
{
var i, j, k
//var n, nd
var nt, nl
var st = ""

//for (i=0; i<seg.childNodes.length; i++)
//	{
//	if (seg.childNodes[i].nodeName == "news_list_head")
//		{
//		for (j=0; j<seg.childNodes[i].childNodes.length; j++)
//			{
//			if (seg.childNodes[i].childNodes[j].nodeName == "news_total")
//				{
//				n = seg.childNodes[i].childNodes[j].childNodes[0].nodeValue
//				}
//			}
//		}
//	}

for (i=0; i<seg.childNodes.length; i++)
	{
	if (seg.childNodes[i].nodeName == "news_list_body")
		{
		for (j=0; j<seg.childNodes[i].childNodes.length; j++)
			{
			if (seg.childNodes[i].childNodes[j].nodeName == "news_item")
				{
				for (k=0; k<seg.childNodes[i].childNodes[j].childNodes.length; k++)
					{
					if (seg.childNodes[i].childNodes[j].childNodes[k].nodeName == "news_title")
						{
						nt = seg.childNodes[i].childNodes[j].childNodes[k].childNodes[0].nodeValue
						}
					if (seg.childNodes[i].childNodes[j].childNodes[k].nodeName == "news_link")
						{
						nl = seg.childNodes[i].childNodes[j].childNodes[k].childNodes[0].nodeValue
						}
//					if (seg.childNodes[i].childNodes[j].childNodes[k].nodeName == "news_desc")
//						{
//						nd = seg.childNodes[i].childNodes[j].childNodes[k].childNodes[0].nodeValue
//						}
					}
				st = st + "<br /><a class='menu3 tex2' href='" + nl + "' target='_blank'>" + nt + "</a>"
				}
			}
		}
	}

if (st == "")
	{
	st = "<br /><br />No news available"
	}

showNews(st)
}

function processDictList(seg)
{
var i, j, k
var cp, mp, tr, rq
//var fr, lr
var a, b
var st

for (i=0; i<seg.childNodes.length; i++)
	{
	if (seg.childNodes[i].nodeName == "dlh")
		{
		for (j=0; j<seg.childNodes[i].childNodes.length; j++)
			{
			if (seg.childNodes[i].childNodes[j].nodeName == "dcp")
				{
				cp = seg.childNodes[i].childNodes[j].childNodes[0].nodeValue
				}
			if (seg.childNodes[i].childNodes[j].nodeName == "dmp")
				{
				mp = seg.childNodes[i].childNodes[j].childNodes[0].nodeValue
				}
//			if (seg.childNodes[i].childNodes[j].nodeName == "dfr")
//				{
//				fr = seg.childNodes[i].childNodes[j].childNodes[0].nodeValue
//				}
//			if (seg.childNodes[i].childNodes[j].nodeName == "dlr")
//				{
//				lr = seg.childNodes[i].childNodes[j].childNodes[0].nodeValue
//				}
			if (seg.childNodes[i].childNodes[j].nodeName == "dtr")
				{
				tr = seg.childNodes[i].childNodes[j].childNodes[0].nodeValue
				}
			if (seg.childNodes[i].childNodes[j].nodeName == "drq")
				{
				rq = seg.childNodes[i].childNodes[j].childNodes[0].nodeValue
				}
			}
		}
	}

if (tr != 0)
	{
	st = "<table class='tab3'>"
	for (i=0; i<seg.childNodes.length; i++)
		{
		if (seg.childNodes[i].nodeName == "dlb")
			{
			switch(rq)
				{
				case "dict-eng":
				st = st + "<tr><td class='cell1'>English / &#304;ngilizce</td><td class='cell1'>Turkish / T&#252;rk&#231;e</td></tr>"
				break
				case "dict-turk":
				st = st + "<tr><td class='cell1'>T&#252;rk&#231;e / Turkish</td><td class='cell1'>&#304;ngilizce / English</td></tr>"
				break
				}
			for (j=0; j<seg.childNodes[i].childNodes.length; j++)
				{
				if (seg.childNodes[i].childNodes[j].nodeName == "dr")
					{
					for (k=0; k<seg.childNodes[i].childNodes[j].childNodes.length; k++)
						{
						if (seg.childNodes[i].childNodes[j].childNodes[k].nodeName == "da")
							{
							a = seg.childNodes[i].childNodes[j].childNodes[k].childNodes[0].nodeValue
							}
						if (seg.childNodes[i].childNodes[j].childNodes[k].nodeName == "db")
							{
							b = seg.childNodes[i].childNodes[j].childNodes[k].childNodes[0].nodeValue
							}
						}
					st = st + "<tr><td class='cell2'>" + a + "</td><td class='cell2'>" + b + "</td></tr>"
					}
				}
			st = st + "<tr><td class='cell3' colspan='2'>" + buildFooter(cp,mp) + "</td><tr>"
			}
		}
	st = st + "</table>"
	}
else
	{
	st = "No translation available / Kar&#351;&#305;l&#305;&#287;&#305; bulunamad&#305;"
	}

showDict(st)
}

function buildFooter(cur, max)
{
var bs = 10, b = parseInt((cur - 1) / bs) * bs, z, st = ""
if (cur == 1) {z = max} else {z = parseInt(cur)-1}
st = st + "<span class='pad4'><a class='dict' href='javascript:getDict("+z+");' title='Previous page'>Prev</a></span>"
for (i=1;i<=max-b && i<=bs;i++)
	{
	if (i+b==cur)
		{
		st = st + "<span class='pad4'><b>"+(i+b)+"</b></span>"
		}
	else
		{
		st = st + "<span class='pad4'><a class='dict' href='javascript:getDict("+(i+b)+");' title='Page "+(i+b)+"'>"+(i+b)+"</a></span>"
		}
	}
if (cur == max) {z = 1} else {z = parseInt(cur)+1}
st = st + "<span class='pad4'><a class='dict' href='javascript:getDict("+z+");' title='Next page'>Next</a></span>"
return st
}

//

function showError(req, st)
{
switch(req)
	{
	case "news":
		document.getElementById("LTRNews").innerHTML = st
	break
	case "dict-eng":
		document.getElementById("LTRDict").innerHTML = st
	break
	case "dict-turk":
		document.getElementById("LTRDict").innerHTML = st
	break
	default:
		alert(st)
	break
	}
}

//

function showNews(st)
{
document.getElementById("LTRNews").innerHTML = st
}

function getNews()
{
var st = "Req=" + encodeURI('news') + "&Provider=" + encodeURI(document.getElementById("LTRNewsProvider").value) + "&Limit=" + encodeURI(9)
requestData(st)
}

//

function showDict(st)
{
document.getElementById("LTRDict").innerHTML = st
}

function setDict()
{
if (document.getElementById("dfText").value == "")
	{
	document.getElementById("LTRDict").innerHTML = "You have not entered a word to translate / Terc&#252;me edilecek kelime yaz&#305;l&#305; de&#287;il"
	return
	}
document.getElementById("dReq").value = document.getElementById("dfReq").value
document.getElementById("dSearch").value = document.getElementById("dfSearch").value
document.getElementById("dText").value = document.getElementById("dfText").value
getDict(1)
}

function resetDict()
{
document.getElementById("dReq").value = ""
document.getElementById("dSearch").value = ""
document.getElementById("dText").value = ""
document.getElementById("dPage").value = ""
document.getElementById("dfReq").value = "dict-eng"
document.getElementById("dfSearch").value = "exact"
document.getElementById("dfText").value = ""
document.getElementById("LTRDict").innerHTML = ""
}

function getDict(page)
{
document.getElementById("dPage").value = page
var st = "Req=" + encodeURI(document.getElementById("dReq").value) + "&Search=" + encodeURI(document.getElementById("dSearch").value) + "&Text=" + encodeURI(document.getElementById("dText").value) + "&Page=" + encodeURI(document.getElementById("dPage").value)
requestData(st)
}

