    String.prototype.trim = function () {
        return this.replace(/^\s*/, "").replace(/\s*$/, "");
    }

    var XMLHttpRequestObject = false;

    if (window.ActiveXObject)
    {
        XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
    } else if (window.XMLHttpRequest)
    {
        XMLHttpRequestObject = new XMLHttpRequest();
        XMLHttpRequestObject.overrideMimeType("text/xml");
    }

    // one gallery item

    function loadInfo(pid)
    {
        var url = "modules/projects/get_info.php?project=" + pid;
        if(XMLHttpRequestObject)
        {
            XMLHttpRequestObject.open("GET", url);
            XMLHttpRequestObject.onreadystatechange = function()
            {
                if ((XMLHttpRequestObject.readyState == 4) && (XMLHttpRequestObject.status == 200))
                {
                    listInfo(XMLHttpRequestObject.responseXML);
                }
            }
            XMLHttpRequestObject.send(null);
        }
    }
    
    function listInfo(projects)
    {
        document.getElementById('large_image').innerHTML = '<img src="' + site_host + '/phpThumb/phpThumb.php?src=../uploads/projects/' + getData(projects, 'image', -1)+'&amp;w=290&amp;h=190&amp;zc=1&amp;q=100" alt="" />';
        
        //document.getElementById('project_title').innerHTML = getData(projects, 'group', -1);
        document.getElementById('project_title').innerHTML = '<a style="color:#fff" href="' + site_host + '/projects/1/' + getData(projects, 'category', -1) + '">'+ getData(projects, 'group', -1) +'</a>'; 
        var urlas = getData(projects, 'url', -1).replace("http://", "");
        document.getElementById('project_link').innerHTML = '<a target="_blank" href="http:/' + '/' + urlas + '">'+ getData(projects, 'title', -1) +'</a>';
    }
    
    function getData(array, title, index)
    {
        var obj;
        if(index > -1){
            obj = array[index].getElementsByTagName(title)[0].firstChild;
        } else {
            obj = array.getElementsByTagName(title)[0].firstChild;
        }
        if(obj!= null && obj.data.trim() != "") return obj.data; else return "";
    }

    // gallery items

    function loadLimit(limit)
    {
        var url = "modules/projects/get_info.php?limit=" + limit;
        if(XMLHttpRequestObject)
        {
            XMLHttpRequestObject.open("GET", url);
            XMLHttpRequestObject.onreadystatechange = function()
            {
                if ((XMLHttpRequestObject.readyState == 4) && (XMLHttpRequestObject.status == 200))
                {
                    listOtherInfo(XMLHttpRequestObject.responseXML);
                }
            }
            XMLHttpRequestObject.send(null);
        }
    }

    function listOtherInfo(response)
    {
        var loopIndex;
        var proj = response.getElementsByTagName('project');
        var targetDiv = document.getElementById('featured_items');

        targetDiv.innerHTML = "\n";

        for (loopIndex = 0; loopIndex < proj.length; loopIndex++)
        {
            image = getData(proj, 'image', loopIndex);
            id = proj[loopIndex].attributes.getNamedItem('id').nodeValue;

            targetDiv.innerHTML += '<div class="featured"><span class="image"><img src="' + site_host + '/phpThumb/phpThumb.php?src=../uploads/projects/' + image + '&amp;w=110&amp;h=80&amp;zc=1&amp;q=60" title="'+ id +'" alt="'+ id +'" onclick="loadInfo('+ id +')"/></span></div>' + "\n";
        }
    }

    function loadUp()
    { // shows items before current
        var topRow = document.getElementById('top_row');
        var botRow = document.getElementById('bottom_row');

        topValue = Number(topRow.alt) - 1;
        botValue = topValue + 1;
        
        topRow.src = site_host + '/images/arrow_up.jpg';
        botRow.src= site_host + '/images/arrow_down.jpg';

        if(topValue < 0){ topValue = 0; topRow.src=site_host + '/images/dot.jpg';}
        if(botValue < 1){ botValue = 1;}
        if(botValue == 1) {topRow.src=site_host + '/images/dot.jpg';}

        topRow.onClick = 'loadUp(' + topValue + ')';
        botRow.onClick = 'loadDown(' + botValue + ')';

        topRow.alt = topValue;
        //topRow.title = topValue;

        loadLimit(topValue)
    }

    function loadDown()
    { // shows items after current
        var topRow = document.getElementById('top_row');
        var botRow = document.getElementById('bottom_row');

        topValue = Number(topRow.alt) + 1;
        botValue = topValue + 1;
        
        topRow.src = site_host + '/images/arrow_up.jpg';
        botRow.src= site_host + '/images/arrow_down.jpg';

        if(topValue > botRow.alt - 1){ topValue = botRow.alt - 1;}
        if(botValue > botRow.alt){ botValue = botRow.alt; botRow.src=site_host + '/images/dot.jpg'; }
        if(topValue == (botRow.alt - 1)) { botRow.src=site_host + '/images/dot.jpg'; }

        topRow.onClick = 'loadUp(' + topValue + ')';
        botRow.onClick = 'loadDown(' + botValue + ')';

        topRow.alt = topValue;
        //topRow.title = topValue;

        loadLimit(topValue)
    }