﻿String.prototype.trim = function () { return this.replace(/^\s+|\s+$/, ''); };

function createHttpRequest() {
    var httprequest = null;

    if (window.XMLHttpRequest) {
        try { httprequest = new XMLHttpRequest(); }
        catch (e) { httprequest = null; }
    }

    if (httprequest == null && window.ActiveXObject) {
        try { httprequest = new ActiveXObject("Msxml2.XMLHTTP"); }
        catch (e) {
            try { httprequest = new ActiveXObject("Microsoft.XMLHTTP"); }
            catch (e) { httprequest = null; }
        }
    }

    return httprequest;
}

function isNetscape() 
{
    var navName = new String(navigator.appName);
    var IsNetscape = (navName.toLowerCase().indexOf("netscape") != -1);

    return IsNetscape;
}

function appendValueToField(value, fieldID, seperator) 
{
    var obj = document.getElementById(fieldID);

    if (obj != undefined && obj != null) 
    {
        var objValue = new String(obj.value);
        var objValue_new = "";

        if (seperator != null && seperator != "") 
        {
            var objValueSplitted = objValue.split(seperator);

            for (var iC = 0; iC < objValueSplitted.length - 1; iC++) 
            {
                var itemCheck = new String(objValueSplitted[iC]);
                itemCheck = itemCheck.trim();

                if (itemCheck.length > 0) 
                {
                    objValue_new += itemCheck + seperator + " "; 
                }
            }

            if (objValue_new.length == 0) 
            {
                objValue_new = value; 
            }
            else 
            {
                objValue_new += value; 
            }
        }
        else 
        {
            objValue_new = objValue + value;
        }

        obj.value = objValue_new;
    }
}

function extractLastValue(obj) 
{
    var objValue = new String(obj.value);
    var objValueSplitted = objValue.split(",");

    return objValueSplitted[objValueSplitted.length - 1].trim();
}

function searchTagOnFly(pCR, obj, refType) 
{
    var objValue = new String(extractLastValue(obj));

    if (objValue.length > 2) 
    {
        var httpRequest = createHttpRequest();

        if (httpRequest != null) 
        {
            var postData = "searchtext=" + encodeURI(objValue) + "&searchfilter=" + encodeURI(obj.value) + "&rt=" + refType;

            httpRequest.onreadystatechange = function () { searchTagOnFlyHelper(pCR, obj, httpRequest); };
            httpRequest.open("POST", "./searchtags_xml.aspx", true);
            httpRequest.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
            httpRequest.send(postData)
        }
    }
}

function searchTagOnFlyHelper(pCR, obj, httpRequest) 
{
    if (httpRequest.readyState == 4) 
    {
        var objValue = new String(extractLastValue(obj));
        var continueOperation = false;

        if (httpRequest.status == 200) 
        {
            if (httpRequest.responseText.indexOf("<?xml") != 0) 
            {
                //document.location.href = "./?";

                //return;
            }

            var xmlDoc = null;

            if (document.implementation && document.implementation.createDocument) 
            {
                var xmlParser = new DOMParser();
                xmlDoc = xmlParser.parseFromString(httpRequest.responseText, "text/xml");
            }
            else if (window.ActiveXObject) 
            {
                xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
                xmlDoc.async = "false";
                xmlDoc.loadXML(httpRequest.responseText);
            }
            else 
            {
                xmlDoc = null;
            }

            //alert(httpRequest.responseText);
            if (xmlDoc != null) 
            {
                var TagsElement = xmlDoc.documentElement;

                if (isNetscape()) 
                {
                    if (TagsElement.childNodes.length > 0) 
                    {
                        var height = (((TagsElement.childNodes.length - 1) / 2) * 20);

                        //var eC = 0;
                        var sonucyok = "";

                        var resultDiv = "<div class='anliksonuc' id='asonuc'>";
                        resultDiv += "<span class='ust'></span>";
                        resultDiv += "<span class='baslik'>İLGİLİ OYUN KÜNYELERİ</span>";
                        resultDiv += "<span class='sonuclar'>";

                        if (TagsElement.childNodes.length == 1) 
                        {
                            sonucyok = "<span style='padding-left:10px; font-size:12px; color:#666; font-weight:bold;'>SONUÇ BULUNAMADI</span>";
                        }

                        for (var cC = 1; cC < TagsElement.childNodes.length; cC += 2) 
                        {
                            var db = TagsElement.childNodes[cC].childNodes[0].nodeValue.split(",");

                            //alert(db[1].trim().toString());
                            //resultDiv += "<a href='./?pidx=50&k=" + decodeURI(db[0].trim()).toString() + "'";
                            //onclick='javascript:appendValueToField(\"" + db[0].trim() + "\", \"" + obj.id + "\", \",\"); document.getElementById(\"" + obj.id + "_Menu\").innerHTML = \"\";'
                            resultDiv += "<a onclick=javascript:aakapat('asonuc',''); class='tek' href='./?pidx=12&gid=" + decodeURI(db[1].trim()).toString() + "'><span class='kapak'><img src='http://www.bolumsonucanavari.com/ires.aspx?imgtype=game&id=" + db[1].trim() + "&rs=100x100' /></span><span class='bilgi'><span class='isim'>" + db[0].trim() + "</span></span></a>";
                            //resultDiv += "</a>";
                            //alert(resultDiv);
                            //eC++;

                            //if (eC == 5) break;
                        }
                        resultDiv += sonucyok + "</span>";
                        resultDiv += "<a href='./?pidx=50&k=" + decodeURI(objValue).toString() + "' class='tumu'><strong>" + decodeURI(objValue).toString() + "</strong> araması ile ilgili tüm sonuçları göster »</a>";
                        resultDiv += "<span class='alt'></span>";
                        resultDiv += "</div>";
                        var ek = " onclick=javascript:";
                        ek += "aakapat";
                        ek += "(";
                        ek += "'";
                        ek += "akapat";
                        ek += "'";
                        ek += ",";
                        ek += "'";
                        ek += "asonuc";
                        ek += "'";
                        ek += ")";
                        ek += ";";
                        resultDiv += "<a id='akapat' class='sonucgizle' title='Sonuçları Gizle'" + ek + "></a>";
                        //alert(resultDiv);

                        document.getElementById(obj.id + "_Menu").innerHTML = resultDiv;
                    }
                    else 
                    {
                        document.getElementById(obj.id + "_Menu").innerHTML = "";
                    }
                }
                else 
                {
                    if (TagsElement.childNodes.length > 0) 
                    {
                        var height = (TagsElement.childNodes.length * 20) + 5;

                        //var eC = 0;
                        var sonucyok = "";

                        var resultDiv = "<div class='anliksonuc' id='asonuc'>";
                        resultDiv += "<span class='ust'></span>";
                        resultDiv += "<span class='baslik'>İLGİLİ OYUN KÜNYELERİ</span>";
                        resultDiv += "<span class='sonuclar'>";

                        if (TagsElement.childNodes.length == 1) 
                        {
                            sonucyok = "<span style='padding-left:10px; font-size:12px; color:#666; font-weight:bold;'>SONUÇ BULUNAMADI</span>";
                        }

                        for (var cC = 1; cC < TagsElement.childNodes.length; cC += 2) 
                        {
                            var db = TagsElement.childNodes[cC].childNodes[0].nodeValue.split(",");

                            //resultDiv += "<a href='./?pidx=50&k=" + decodeURI(db[0].trim()).toString() + "'";
                            //onclick='javascript:appendValueToField(\"" + db[0].trim() + "\", \"" + obj.id + "\", \",\"); document.getElementById(\"" + obj.id + "_Menu\").innerHTML = \"\";'
                            resultDiv += "<a onclick=javascript:aakapat('asonuc',''); href='./?pidx=12&gid=" + decodeURI(db[1].trim()).toString() + "' class='tek'><span class='kapak'><img src='http://www.bolumsonucanavari.com/ires.aspx?imgtype=game&id=" + db[1].trim() + "&rs=100x100' /></span><span class='bilgi'><span class='isim'>" + db[0].trim() + "</span></span></a>";
                            //resultDiv += "</a>";
                            //alert(resultDiv);
                            //eC++;

                            //if (eC == 5) break;
                        }
                        resultDiv += sonucyok + "</span>";
                        resultDiv += "<a href='./?pidx=50&k=" + decodeURI(objValue).toString() + "' class='tumu'><strong>" + decodeURI(objValue).toString() + "</strong> araması ile ilgili tüm sonuçları göster »</a>";
                        resultDiv += "<span class='alt'></span>";
                        resultDiv += "</div>";
                        var ek = " onclick=javascript:";
                        ek += "aakapat";
                        ek += "(";
                        ek += "'";
                        ek += "akapat";
                        ek += "'";
                        ek += ",";
                        ek += "'";
                        ek += "asonuc";
                        ek += "'";
                        ek += ")";
                        ek += ";";
                        resultDiv += "<a id='akapat' class='sonucgizle' title='Sonuçları Gizle'" + ek + "></a>";
                        //alert(resultDiv);

                        document.getElementById(obj.id + "_Menu").innerHTML = resultDiv;
                    }
                    else 
                    {
                        document.getElementById(obj.id + "_Menu").innerHTML = "";
                    }
                }
            }
        }
        else 
        {
            //alert('Veri Sorgulamada Hata Oluştu.\nLütfen Tekrar Deneyiniz');
        }

        httpRequest = null;
    }
}
