/**
*   @desc Make pages function. Dynamicly generated pages and callbackfunction
*   @note Currently hard coded limit to 20 pages
*
*   @param int iCurrent Current page number
*   @param int iTotal Total count of pages
*   @param string sCallPageFucntion string function to initiate change of page. Add __PAGENR__ to place the vairable page number
*   @param string sTop Element name of pagecounter container
*   @param string sBottom Element name of pagecounter container 2
**/
function makePages(iCurrent, iTotal, sCallPageFunction, sTop, sBottom){
    var sPages = '';
    var sClass = '';
    if ( iTotal > 20 )  { iTotal = 20; }
    
    if ( iTotal > 1 ) {
    
        iPrevious = iCurrent - 1;
        if ( iPrevious == 0 ) { iPrevious = 1; }
        sPages += '<a href="#" onclick="' + sCallPageFunction.replace("__PAGENR__", ( iCurrent - 1)) + '"><</a>';
        
        for ( var i=1; i<=iTotal; i++ ) {
            if ( i == iCurrent ) { sClass = 'class="current"' } else { sClass = ''; }
            sPages += '<a href="#" ' + sClass + ' onclick="' + sCallPageFunction.replace("__PAGENR__", ( i )) + ';return false;">' + i + '</a>';
        }
        
        iNext = iCurrent + 1;
        if ( iNext > iTotal ) { iNext = iTotal; }
        sPages += '<a href="#" onclick="' + sCallPageFunction.replace("__PAGENR__", iNext ) + ';return false;">></a>';
    }
        
    document.getElementById(sTop).innerHTML = sPages;
    document.getElementById(sBottom).innerHTML = sPages;
}


/**********************************************************************
Als je meer info over een item op de kaart wilt zien, 
wordt deze functie aangeroepen.
**********************************************************************/
function showInfo(iMarkerID){
    // De inhoud van de informatie DIV alleen bijwerken als er een iMarkerID is opgegeven
    if(iMarkerID){
    
        // Via een AJAX request de informatie over het item ophalen uit de database    
        itemXML = makeRequest(sBaseUrl + 'ajax/item.xml.php?id=' + iMarkerID);
        
        /** Activate tabtitle, show tab and set right content block **/
        swap('tab', true);
        
        activate('tabTitle');
        setTabContent('info');        

        // controleren of het item bestaat, als dat niet zo is staat er in de XML output een tag met de naam 'fout'
        if(checkForTag(itemXML.getElementsByTagName('fout')[0])){
            var text     = itemXML.getElementsByTagName('fout')[0].firstChild.data;

            // De informatie in de informatie div zetten
            sContent = '<h2><img class="png" src="'+sBaseUrl+'images/bol_bg_fefefe.png">Niet gevonden</h2>';
            sContent += '<p>'+text+'</p>';
            
            document.getElementById('tab_contents_info').innerHTML = sContent;
        // Als het item wel bestaat
        } else {
                
            var titel    = itemXML.getElementsByTagName('titel')[0].firstChild.data;
            var permlink = itemXML.getElementsByTagName('permlink')[0].firstChild.data;
            
            var infoType = itemXML.getElementsByTagName('infoType')[0].firstChild.data;
            
            var adres = '';
            if(checkForTag(itemXML.getElementsByTagName('adres')[0])){
                adres     = itemXML.getElementsByTagName('adres')[0].firstChild.data;
            }
            var postcode = '';
            if(checkForTag(itemXML.getElementsByTagName('postcode')[0])){
                postcode     = itemXML.getElementsByTagName('postcode')[0].firstChild.data;
            }
            var plaats = '';
            if(checkForTag(itemXML.getElementsByTagName('plaats')[0])){
                plaats     = itemXML.getElementsByTagName('plaats')[0].firstChild.data;
            }
            var email = '';
            if(checkForTag(itemXML.getElementsByTagName('email')[0])){
                email     = itemXML.getElementsByTagName('email')[0].firstChild.data;
            }
            var telefoon = '';
            if(checkForTag(itemXML.getElementsByTagName('telefoonnummer')[0])){
                telefoon     = itemXML.getElementsByTagName('telefoonnummer')[0].firstChild.data;
            }            

            var textafbeelding = '';
            if(checkForTag(itemXML.getElementsByTagName('textafbeelding')[0])){
                textafbeelding     = itemXML.getElementsByTagName('textafbeelding')[0].firstChild.data;
            }            

            website = '';
            if(checkForTag(itemXML.getElementsByTagName('website')[0])){
                website     = itemXML.getElementsByTagName('website')[0].firstChild.data;
                website = website.replace('http://','');
            }            
            var omschrijving = itemXML.getElementsByTagName('omschrijving')[0].firstChild.data;
            var lat           = parseFloat(itemXML.getElementsByTagName('position')[0].getAttribute('lat'));
            var lng           = parseFloat(itemXML.getElementsByTagName('position')[0].getAttribute('lng'));

            var thumb1 = '';
            if(checkForTag(itemXML.getElementsByTagName('thumb1')[0])){
                thumb1     = itemXML.getElementsByTagName('thumb1')[0].firstChild.data;
                large1     = itemXML.getElementsByTagName('large1')[0].firstChild.data;
            }
            
            var thumb2 = '';
            if(checkForTag(itemXML.getElementsByTagName('thumb2')[0])){
                thumb2     = itemXML.getElementsByTagName('thumb2')[0].firstChild.data;
                large2     = itemXML.getElementsByTagName('large2')[0].firstChild.data;
            }            

            var thumb3 = '';
            if(checkForTag(itemXML.getElementsByTagName('thumb3')[0])){
                thumb3     = itemXML.getElementsByTagName('thumb3')[0].firstChild.data;
                large3     = itemXML.getElementsByTagName('large3')[0].firstChild.data;
            }
            
            var thumb4 = '';
            if(checkForTag(itemXML.getElementsByTagName('thumb4')[0])){
                thumb4     = itemXML.getElementsByTagName('thumb4')[0].firstChild.data;
                large4     = itemXML.getElementsByTagName('large4')[0].firstChild.data;
            }

            var bijlage = '';
            if(checkForTag(itemXML.getElementsByTagName('bijlage')[0])){
                bijlage     = itemXML.getElementsByTagName('bijlage')[0].firstChild.data;
            }

            var aSubgroepen = itemXML.getElementsByTagName('subgroep');
            
            // De informatie formatten
            var sContent = '';

            // editinplace icons
            
            if(bWebbeheerLoggedIn){
                
                sContent += '<img style="cursor:pointer;margin:0;width:20px;height:16px;background:transparent;" src="'+sBaseUrl+'webbeheer/images/edit.gif" onclick="editItem(\'markers\',' + iMarkerID + ');" title="wijzig" alt="wijzig" />';
                sContent += '<img style="cursor:pointer;margin:0;width:17px;height:16px;background:transparent;" src="'+sBaseUrl+'webbeheer/images/delete.gif" onclick="deleteItem(\'markers\',' + iMarkerID + ');" title="verwijder" alt="verwijder" />';
                sContent += '<hr/>';
            }
        
            sContent += '<div style="float: right;"><a href="#" onclick="swap(\'tab\', false);return false;" class="funky left">' + _sTerug + '</a></div>';
            sContent += '<h2><img class="png" src="'+sBaseUrl+'images/bol_bg_fefefe.png">'+titel+'</h2>';
            
            if ( infoType == 'video' ) {
                var textafbeeldinghtml = itemXML.getElementsByTagName('video')[0].firstChild.data;
            } else if ( infoType == 'image' ) {
                var afbeelding = itemXML.getElementsByTagName('afbeelding')[0].firstChild.data;
                var textafbeeldinghtml = "<img height='211' width='256' src='" + sBaseUrl + "images/ballon/" + afbeelding + "'>";
            } else {
                var textafbeeldinghtml = '';
            }
            
            if  ( textafbeeldinghtml != '' ) {
               //textafbeeldinghtml = "<div style='float:left;margin:10px 10px 10px 0;'>" + textafbeeldinghtml + "</div>";
            }
            
            sContent += '<div class="omschrijving"><table><tr><td valign="top">'+ textafbeeldinghtml +'</td><td valign="top">'+ omschrijving +'</td></tr></table></div>';
            
            
            if (thumb1 != '' || thumb2 != '' || thumb3 != '' || thumb4 != ''){
                sContent += '<div class="info_extra_thumbs">';
            }
            if(thumb1 != '')     sContent += '<div class="thumb"><a href="javascript:enlarge(\'' + large1 + '\');"><img src="'+sBaseUrl+'webbeheer/libs/image/phpThumb.php?src=' + thumb1 + '&w=120&h=90&zc=1" alt="" /></a></div>';
            if(thumb2 != '')     sContent += '<div class="thumb"><a href="javascript:enlarge(\'' + large2 + '\');"><img src="'+sBaseUrl+'webbeheer/libs/image/phpThumb.php?src=' + thumb2 + '&w=120&h=90&zc=1" alt="" /></a></div>';
            if(thumb3 != '')     sContent += '<div class="thumb"><a href="javascript:enlarge(\'' + large3 + '\');"><img src="'+sBaseUrl+'webbeheer/libs/image/phpThumb.php?src=' + thumb3 + '&w=120&h=90&zc=1" alt="" /></a></div>';
            if(thumb4 != '')     sContent += '<div class="thumb" style="margin-right: 0px;"><a href="javascript:enlarge(\'' + large4 + '\');"><img src="'+sBaseUrl+'webbeheer/libs/image/phpThumb.php?src=' + thumb4 + '&w=120&h=90&zc=1" alt="" /></a></div>';
            
            if (thumb1 != '' || thumb2 != '' || thumb3 != '' || thumb4 != ''){
                sContent += '</div>';
            }

            
            sContent += '<br/><div class="info_extra"><div id="info_extra_middleborder">';
            
            if(adres != '' || postcode != '' || plaats != '') sContent += '<div id="info_adres"><h3>' + _sAdresGevevens + '</h3>';
            if(adres != '')     sContent += adres + '<br/>';
            if(postcode != '')     sContent += postcode + '<br/>';
            if(plaats != '')     sContent += plaats + '<br/>';
            
            sContent += '<br/><table>';
            
            if(email != '')     sContent += '<tr><td><b>E-mail</b></td><td><a href="mailto:' + email + '">' + email + '</a></td></tr>';
            if(telefoon != '')     sContent += '<tr><td><b>' + _sTelefoon + '</b></td><td> ' + telefoon + '</td></tr>';
            if(website != '')    sContent += '<tr><td><b>' + _sWebsite + '</b></td><td><a href="http://' + website + '" target="_blank">' + website +'</a></td></tr>';
                        
            if(bijlage != '')     sContent += '<td><br/><b>Bijlage</b></td><td><a href="'+sBaseUrl+'uploads/markers/'+bijlage+'" target="_blank">downloaden</a></td></tr>';
            
            sContent += '</table></div>';
            
            sContent += '<div id="info_rubrieken"><h3>' + _sRubrieken + '</h3>';
            
            // Subgroepen waar deze marker in zit
            for (i=0; i<aSubgroepen.length; i++) {
                //grab info from XML DOM parkings node
                sgtitel     = aSubgroepen[i].getElementsByTagName('titel')[0].firstChild.data;
                hgtitel     = aSubgroepen[i].getElementsByTagName('hgtitel')[0].firstChild.data;
                sgicon      = aSubgroepen[i].getElementsByTagName('icon')[0].firstChild.data;
                hgkleur     = aSubgroepen[i].getElementsByTagName('kleur')[0].firstChild.data;
                sgid        = aSubgroepen[i].getElementsByTagName('sgid')[0].firstChild.data;
                
                sContent += '<img class="png" style="background-color:' + hgkleur + '" src="' + sBaseUrl + 'images/icons/' + sgicon + '" alt="" align="absmiddle" class="icon" /><a href="#" onclick="oMenu.getItemList(' + sgid + ');return false;">' + hgtitel + ' > ' + sgtitel + '</a><br/>';
                
            }            

            sContent += '</div></div></div>';

            sContent += '<div id="info_link">' + _sPermLink + ':<br/>';
            sContent += '<input id="permLink" type="text" value="'+permlink+'" onClick="javascript:document.getElementById(\'permLink\').focus();document.getElementById(\'permLink\').select();" readonly="true">';
            sContent += '</div>';

            // De naam van het informatie tabje veranderen
            document.getElementById('tabTitleText').innerHTML = titel.substring(0,43); // de titel moet niet langer zijn als 43 tekens anders loopt ie het tabje uit
            
            // De informatie in de informatie div zetten
            document.getElementById('tab_contents_info').innerHTML = sContent;

            // In het hidden field het markers id zetten
            document.getElementById('iMarkerId').value = iMarkerID;
            
            // Statistieken bijhouden
            pageHit(permlink + '/meer_informatie');
            
       }
    } // if marker
}

/**********************************************************************
Zoeken naar de opgegeven zoekwoorden.
De resultaten in het zoektablad tonen.
**********************************************************************/
function showSearch(sKeyword, iPage){
    iPage = iPage || 1;

    setTabContent('search');
    
    $('searchResultWrap').style.display = "block";
    
    if(sKeyword){      
        
        // Via een AJAX request de zoekresultaten ophalen uit de database    
        searchXML = makeRequest(sBaseUrl + 'ajax/search.xml.php?keyword=' + sKeyword + '&iPage=' + iPage);
        
        numResults    = parseInt(searchXML.getElementsByTagName('numResults')[0].firstChild.data);
        if ( numResults > 0 ) {
            iPageCount = parseInt(searchXML.getElementsByTagName('iPageCount')[0].firstChild.data);
        } else {
            iPageCount = 0;
        }
        
        /** Alleen bij lege resultaten een geocode search doen **/
        if ( numResults < 1 ) { oSearch.getSearch(sKeyword); }
        else { oSearch.cleanResult(); }
        
        aResults     = searchXML.getElementsByTagName('result');
        
        makePages(iPage, iPageCount, "showSearch('"+sKeyword+"',__PAGENR__);", 'spTop', 'spBottom');
        
        
        sResults = '';
        

        
        for (i=0; i<aResults.length; i++) {
            //grab info from XML DOM parkings node
            var id                  = aResults[i].getElementsByTagName('id')[0].firstChild.data;
            var titel               = aResults[i].getElementsByTagName('titel')[0].firstChild.data;
                              
                                    
            if ( titel.length > 40 ) {
                titel = titel.substring(0, 38) + '...';
            }
            
            var omschrijving        = aResults[i].getElementsByTagName('omschrijving')[0].firstChild.data;
            var lat                 = aResults[i].getElementsByTagName('lat')[0].firstChild.data;
            var lng                 = aResults[i].getElementsByTagName('lng')[0].firstChild.data;
            var zoom                = aResults[i].getElementsByTagName('zoom')[0].firstChild.data;            
            var website             = aResults[i].getElementsByTagName('website')[0].firstChild.data;
            var website = website.replace('http://','');
            
            var adres               = aResults[i].getElementsByTagName('adres')[0].firstChild.data;
            var telefoonnummer      = aResults[i].getElementsByTagName('telefoonnummer')[0].firstChild.data;            
            var plaats              = aResults[i].getElementsByTagName('plaats')[0].firstChild.data;
            var subgroep            = aResults[i].getElementsByTagName('subgroep')[0].firstChild.data;
            var sg_titel            = aResults[i].getElementsByTagName('sg_titel')[0].firstChild.data;
            
            
            if ( omschrijving != '' ){
                var link = '<a class="clean" href="#" onclick="showInfo(' + id + ');return false;" class="funky right">' + _sMeerInfo + '</a>';
                var linkTitel = '<a class="title" href="#" onclick="swap(\'tab\', false);oMapObjects.gotoHiddenId('+  parseFloat(id) +');return false;" class="funky">' + titel + '</a>';
                var linkMap = '<a class="clean" href="#" onclick="swap(\'tab\', false);oMapObjects.gotoHiddenId('+  parseFloat(id) +');return false;" class="funky left">' + _sToonopkaart + '</a> | ';
            } else if ( website == '' ) {
                var link = '';
                var linkTitel = '<a class="title" href="#" onclick="swap(\'tab\', false);oMapObjects.gotoHiddenId('+ parseFloat(id) +');return false;" class="funky">' + titel + '</a>';
                var linkMap = '<a class="clean" href="#" onclick="swap(\'tab\', false);oMapObjects.gotoHiddenId('+ parseFloat(id) +');return false;" class="funky left">' + _sToonopkaart + '</a>';
            } else {
                var link = '<a class="clean" href="http://' + website + '" target="_blank" class="funky up">' + _sBezoekSite + '</a>';
                var linkTitel = '<a class="title" href="http://' + website + '" class="funky">' + titel + '</a>';
                var linkMap = '<a class="clean" href="#" onclick="swap(\'tab\', false);oMapObjects.gotoHiddenId('+ parseFloat(id) +');" class="funky left">' + _sToonopkaart + '</a> | ';
            }
                                    
            // de content voor dit zoekresultaat formatten
            sResults += '<div class="searchResult"><p class="links">';
            
            sResults += '<img alt="' + sg_titel + '" class="png" onclick="oMenu.getItemList(' + subgroep + ');" src="' + oIcons[subgroep].labelImage + '" style="margin:5px;float:right;display:block;height:21px;cursor:pointer;background-color:#' + oIcons[subgroep].bgColor + '">';
            
            sResults += linkTitel;
            
            sResults += linkMap;
            sResults += link;
            sResults += '</p>';
            
            var sAdres = '';
            if ( adres != '' ) { 
                sAdres += adres; 
                if ( plaats != '' ) {
                    sAdres += ', ' + plaats;
                }
                if ( telefoonnummer != '' ) {
                    sAdres += '<br/>';
                }
            }
            if ( telefoonnummer != '' ) {
                sAdres += telefoonnummer;
            }
            
            sResults += '<p class="adress">' + sAdres + '</p></div>';
        }
        
        // De showInfo in de informatie div zetten
        sContent = '';
        
        if(sResults != 0){
            if(numResults == 1){
                var sResultString = _sSearch1Resultaat;
            } else {
                var sResultString = _sSearchMeerdereResultaten.replace( "__AANTAL__" , "<b>" + numResults + "</b>");
            }
            sContent += '<br/>';
            sContent += sResults;
            pageHit(sBaseUrl+'zoeken/'+sKeyword);
        } else {
            var sResultString = _sSearchEmpty.replace("__WOORD__", "<b>" + sKeyword + "</b>");
            pageHit(sBaseUrl+'zoeken/'+sKeyword);
            pageHit('Zoek_resultaat_leeg: ' + sKeyword);
        }
                
        document.getElementById('searchContent').innerHTML = sContent;
        
        document.getElementById('searchOverview').innerHTML = sResultString;
        
        // Statistieken bijhouden
        
    } else {
        swap('tab', true);
    }
}



/**********************************************************************
Twee functies om van een thumb plaatje een large versie in een popup te tonen
**********************************************************************/
imagename = '';
var popup = null;

function enlarge(fullimg){
    if(popup && !popup.closed){
        popup.close();
    }
    
    popup = window.open("about:blank","","width=155,height=116,status=no,toolbar=no,scrollbars=no,menubar=no,location=no,resizable=no");
    imagename = fullimg;
    
    setTimeout('updatePopup()',500)
}

function updatePopup(){
    doc = popup.document;
    doc.open('text/html');
    doc.write('<html><head><title>Uitvergroting</title><meta http-equiv="imagetoolbar" content="no" /><base href="' + sBaseUrl + '" /><link type="text/css" rel="stylesheet" href="css/popup.css" /></head><body>');
    doc.write('<a href="javascript:;" onClick="window.close()"><img name="FullImage" src="' + imagename + '" onLoad="window.resizeTo(FullImage.offsetWidth+25, FullImage.offsetHeight+80);"></a>');
    doc.write('</body></html>');
    doc.close();
}

