﻿var XmlHttp;
function CreateXmlHttp() {
    //Creating object of XMLHTTP in IE
    try {
        XmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e) {
        try {
            XmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch (e) {
            XmlHttp = null;
        }
    }
    //Creating object of XMLHTTP in Mozilla and Safari
    if (!XmlHttp && typeof XMLHttpRequest != "undefined") {
        XmlHttp = new XMLHttpRequest();
    }
}
function redirectToResults(inputObject) {
    var KeyID = (window.event) ? event.keyCode : e.keyCode;
    if (inputObject.value.length < 2) {
    }
    else if (KeyID == 13) {
        alert("okej");
        window.location = "SearchResults.aspx?search=" + inputObject.value;    
    }
}
function lookup(inputObject,e) {
    if (XmlHttp != null) {
        XmlHttp.onreadystatechange = function() { }
        XmlHttp.abort();
    }
    if (inputObject.value.length < 2) {
        document.getElementById("divLoading").style.visibility = "hidden";
        document.getElementById('searchResult').style.visibility = "hidden";
    }
    else {
        var KeyID = (window.event) ? event.keyCode : e.keyCode;
        if (KeyID == 13) {
            window.location = "SearchResults.aspx?search=" + inputObject.value;
        }    
        document.getElementById('divNotes').innerHTML="";
        document.getElementById('divEvents').innerHTML = "";
        document.getElementById('divArticles').innerHTML = "";
        document.getElementById("divLoading").innerHTML = "Loading...";
        document.getElementById("divLoading").style.visibility = "visible";
        document.getElementById('searchResult').style.visibility = "visible";
        var requestUrl = "Handlers/SearchResultHandler.aspx?inputString=" + inputObject.value;
        CreateXmlHttp();
        if (XmlHttp) {
            XmlHttp.onreadystatechange = HandleResponse;
            XmlHttp.open("GET", requestUrl, true);
            XmlHttp.send(null);
        }
        var allResults = document.getElementById('allResults');        
        allResults.innerHTML = "<a href='SearchResults.aspx?search="+inputObject.value+"' class='allResults'>View all results &raquo;</a>";
        
    }
} // lookup

function loadSearchData(inputObject) {
}
function HandleResponse() {
    if (XmlHttp.readyState == 4) {
        if (XmlHttp.status == 200) {
            SetAndGetFromXml(XmlHttp.responseXML.documentElement);
        }
        else {
            alert("There was a problem retrieving data from the server.");
        }
    }
}

function SetAndGetFromXml(nodes) {
    
    var notes = nodes.getElementsByTagName('Note');
    var events = nodes.getElementsByTagName('Event');
    var companies = nodes.getElementsByTagName('Company');
    var articles = nodes.getElementsByTagName('Article');

    if (notes.length < 1 && events.length < 1 && companies.length < 1 && articles.length < 1) {
        document.getElementById("divLoading").style.visibility = "visible";
        document.getElementById("divLoading").innerHTML = "No results matches your search.";    
    }
    else {
        document.getElementById("divLoading").innerHTML = "";    
        var divNotes = document.getElementById('divNotes');
        divNotes.innerHTML = "";

        var divEvents = document.getElementById('divEvents');
        divEvents.innerHTML = "";
        
        var divArticles = document.getElementById('divArticles');
        divArticles.innerHTML = "";


        //NOTES
        if (notes.length != 0)
            divNotes.innerHTML = "<h1 class='notes'>Notes:</h1>";
        if (events.length != 0)
            divEvents.innerHTML = "<h1 class='events'>Events:</h1>";
        if (articles.length != 0)
            divArticles.innerHTML = "<h1 class='mag'>Magazine:</h1>";
        
        for (var i = 0; i < notes.length; i++) {
            var id = notes[i].getElementsByTagName('Id')[0].firstChild.data;
//            var date = notes[i].getElementsByTagName('Date')[0].firstChild.data;
            var text = notes[i].getElementsByTagName('Text')[0].firstChild.data;
            var header = notes[i].getElementsByTagName('Header')[0].firstChild.data;
//            var videoContent = notes[i].getElementsByTagName('VideoContent')[0].firstChild.data;
//            var userId = notes[i].getElementsByTagName('UserId')[0].firstChild.data;
//            var website = notes[i].getElementsByTagName('Website')[0].firstChild.data;
            text = sliceText(text);
            divNotes.innerHTML += "<a href='Note.aspx?Id=" + id + "'><b>" + header + "</b><br>" + text + "</a>";
        }
        
//      //EVENTS
        for (var j = 0; j < events.length; j++) {
            var id = events[j].getElementsByTagName('Id')[0].firstChild.data;
            var text = events[j].getElementsByTagName('Text')[0].firstChild.data;
            var featured = events[j].getElementsByTagName('Featured')[0].firstChild.data;
            var eventCategoryId = events[j].getElementsByTagName('EventCategoryId')[0].firstChild.data;
            var companyId = events[j].getElementsByTagName('CompanyId')[0].firstChild.data;
            var statusId = events[j].getElementsByTagName('StatusId')[0].firstChild.data;
            var startDate = events[j].getElementsByTagName('StartDate')[0].firstChild.data;
            var endDate = events[j].getElementsByTagName('EndDate')[0].firstChild.data;
            var country = events[j].getElementsByTagName('Country')[0].firstChild.data;
            var city = events[j].getElementsByTagName('City')[0].firstChild.data;
            var name = events[j].getElementsByTagName('Name')[0].firstChild.data;
//            var location = events[j].getElementsByTagName('Location')[0].firstChild.data;
            var pictureId = events[j].getElementsByTagName('PictureId')[0].firstChild.data;
            text = sliceText(text);            
            divEvents.innerHTML += "<a href='Event.aspx?Id=" + id + "'><b>" + name + "</b><br/>" + text + "</a>";

        }
        for (var k = 0; k < articles.length; k++) {
            var id = articles[k].getElementsByTagName('Id')[0].firstChild.data;
            var header = articles[k].getElementsByTagName('Header')[0].firstChild.data;
            var subHeader = articles[k].getElementsByTagName('SubHeader');            
            var subHeader = articles[k].getElementsByTagName('SubHeader')[0].firstChild.data;
            var text = articles[k].getElementsByTagName('Text')[0].firstChild.data;
                
            text = sliceText(text);            
            divArticles.innerHTML+="<a href='Article.aspx?Id=" + id + "'><b>" + header +", "+ subHeader + "</b><br/>" + text + "</a>";
        }

    }
    function sliceText(text) {
        var textLimit = 200;
        if (text.length > textLimit) {
            text = text.slice(0, textLimit);
            text += "...";
        }
        return text;
    }
}