// scripts for image gallery

var queryStr;




init = {

    imgcount: 0,

    count: function() {
      
        ajax.sendData(null, 'count');    
    },
    
    doPaging: function () {
        pages = Math.ceil(init.imgcount / 20 );
       
        for(var i = 0; i  < pages; i++) {
            newSpan = document.createElement('span');
            newSpan.onclick = ajax.sendData;
            newSpan.setAttribute('id', i);
          
            newSpan.appendChild(document.createTextNode(i + 1) );
            newSpan.setAttribute('class', 'page');
            cntrlDiv = document.getElementById('cntrlDiv');
            cntrlDiv.appendChild(newSpan);        
        }
    
    },
    
    resetSpans: function() {
        spans = document.getElementById('cntrlDiv').getElementsByTagName('span');
        for(var i=0; i<spans.length; i++) {
            spans[i].setAttribute('class', 'page');        
        }
    
    }

}

ajax = {
    
    
    
    //AJAX stuff
    sendData: function (event, page) {
        
        init.resetSpans();
        
        
        
        if (event && event.target) {
            event.target.setAttribute('class', 'page-curr');        
            page = event.target.id;
        }
        
      
        
        document.getElementById('spinner').setAttribute('style', 'display: block');
        if (page == 'count') {
            queryStr = encodeURI("count=y");
       
        } else if (page) {
            queryStr = encodeURI("offset=" + page * 20 );
            
        }
        //ajaxStatusDiv.style.display = "block";
        
        //url = "http://localhost/workspace/FFsidebar/testQuery.php";
        var url = "umwBlogImgGal.php";
        ajax.httpReq("POST", url, true);
    },
    initReq: function (reqType, url, isAsynch) {
        
        req.onreadystatechange = ajax.getResult;
        req.open(reqType, url, isAsynch);
        req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
        req.url = url;
        
        req.send(queryStr);
    },
    httpReq: function (reqType, url, isAsynch) {
        if (window.XMLHttpRequest) {
            req = new XMLHttpRequest();
        } else if (window.ActiveXObject) {
            req = new ActiveXObject("Msxml2.XMLHTTP");
            if ( ! req) {
                req = new ActiveXObject("Microsoft.XMLHTTP");
            }
        }
        if (req) {
            ajax.initReq(reqType, url, isAsynch);
        }
    },
    getResult: function () {
        if (req.readyState == 4) {
            
            if (req.status == 200) {
                
               // eval(req.responseText);
               if (req.responseText.substr(0, 6) == 'count=') {
                   init.imgcount = req.responseText.replace('count=', '');
                   init.doPaging();
               
                   //document.getElementById('totalSpan').innerHTML = count;
               } else {
               
                    document.getElementById('imgsDiv').innerHTML = req.responseText;

                }
                document.getElementById('spinner').setAttribute('style', 'display: none');
            }
        }
    }
};